php - mysql_escape_string 整个帖子数组?

标签 php mysql sql sql-injection

我想知道是否可以只使用 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/

相关文章:

javascript - 在循环中使用 javascript 注册全局变量

php - 我怎样才能只从一行打印一个条目,其他人从mysql打印所有条目

php - 基于用户输入创建 mysqli 连接时是否必须净化提交表单数据?

MySQL哈希列密码+脚本bash

php - 是否必须为表提供别名,或者在某些情况下我应该提供?

sql - 在 SQL Server 中透视表的前十个值

php - 解析位置字符串

javascript - 使用 javascript 设置变量并通过表单提交

php - 如何根据 GNU/GPL 源代码正确注释 PHP 文件

php - 使用 Laravel 4 和 Eloquent 查询相关模型