我想知道是否可以将my_sql_escape字符串仅包含整个$ _POST和$ _GET数组,这样您就不会错过任何变量了吗?
不知道如何测试它,否则我会做我自己。谢谢!
我会使用该array_walk()功能。它更适合,因为修改了POST超全局变量,因此可以清除将来的任何使用情况。
array_walk()
array_walk_recursive( $_POST, 'mysql_real_escape_string' );
但是,请确保您不依赖此行来完全保护数据库免受攻击。最好的保护是限制某些字段的字符集。前任。电子邮件中没有引号(因此仅允许使用字母,数字,@,破折号等),名称中也没有括号(因此仅允许使用字母和所选的特殊字符)
编辑: 更改array_walk()为array_walk_recursive()感谢@Johan的建议。给他的道具。
array_walk_recursive()