使用 mysql_real_escape_string() 防止 SQL 注入问题。 使用正则表达式和 strlen() 来确保 GET 数据未被篡改。 使用正则表达式和 strlen() 来确保用户提交的数据不会使内存缓冲区溢出。 使用 strip_tags() 和 htmlspecialchars() 防止用户提交可能有害的 HTML 标记。 避免系统被 Tamper Data 这样的工具突破。 使用惟一的令牌防止用户向服务器远程提交表单。
本教程没有涉及更高级的主题,比如文件注入、HTTP 头欺骗和其他漏洞。但是,您学到的知识可以帮助您马上增加足够的安全性,使当前项目更安全。 参考资料 学习 在 Zend.com 上寻找有用的 PHP 101 教程。 获得 Chris Shiflett 的 Essential PHP Security的副本。他所做的介绍比本教程深入得多。 获得 Simson Garfinkel 的 Web Security, Privacy Commerce的副本。 进一步了解 PHP Security Consortium。 阅读 “Top 7 PHP Security Blunders”。 查阅 developerWorks “推荐的 PHP 读物列表”。 阅读 developerWorks 文章 “审计 PHP,第 1 部分: 理解 register_globals”。 查看 PHP Security HOWTO 网络广播。 访问 IBM developerWorks 的 PHP 项目参考资料 来进一步了解 PHP。 随时关注 developerWorks 技术活动和网络广播。 了解世界各地面向 IBM 开放源码开发人员的即将召开的会议、内部预览、网络广播和其他 活动。 访问 developerWorks 的 开放源码专区,这里有丰富的 how-to 信息、工具和项目更新,可以帮助您利用开放源码技术进行开发并将其用于 IBM 产品。 要想听听软件开发人员之间有意思的访谈和讨论,就一定要查阅 developerWorks podcasts |