所以我是一个经验丰富的 php 开发人员,自 2007 年以来一直在“做这该死的事”;但是,在保护我的应用程序方面,我仍然相对不成熟。在某种程度上,我并不真正了解我知道的一切,我可以而且应该。
我已经拿起了Securing PHP Web Applications并且正在阅读我的方式来测试它。我有一些与数据库查询相关的一般 SO 组的问题(主要在 mysql 下):
创建将数据放入数据库的应用程序时,mysql_real_escape_string 和对输入数据的常规检查(is_numeric 等)是否足够?与sql注入不同的其他类型的攻击呢?
有人可以用比你制作它们并调用它们更多的信息来解释存储过程和准备好的语句。我想知道它们是如何工作的,在幕后进行了哪些验证。
我在 php4 绑定环境中工作,而 php5 暂时不是一个选项。以前有没有其他人担任过这个职位,当所有酷孩子都在使用那个甜蜜的新 mysqli 界面时,你做了什么来保护你的应用程序?
人们发现有哪些普遍的良好实践是有利的,强调创建能够承受升级和可能迁移的基础架构(例如将 php4 迁移到 php5)。
注意:已经四处搜索找不到任何与 php-mysql 安全性类似的东西。