我想知道是否可以只使用 my_sql_escape 字符串整个 $_POST 和 $_GET 数组,这样你就不会错过任何变量?
不确定如何测试它,否则我会自己测试。谢谢!
最佳答案
我会使用 array_walk()
函数。它更适合,因为修改了 POST 超全局,因此任何 future 的使用都会被清理。
array_walk_recursive( $_POST, 'mysql_real_escape_string' );
但是,请确保您不依赖此行来完全保护您的数据库免受攻击。最好的保护是限制某些字段的字符集。前任。电子邮件中没有引号(因此只允许使用字母、数字、@、破折号等)并且名称中没有括号(因此只允许使用字母和选定的特殊字符)
编辑:感谢@Johan 的建议,将 array_walk()
更改为 array_walk_recursive()
。给他的 Prop 。
关于php - mysql_escape_string 整个帖子数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4665350/