php - 为什么要费心使用 mysql_real_escape_string() 因为 $_POST 会自动在引号前添加斜杠?

标签 php post escaping quotes mysql-real-escape-string

在 PHP 中,$_POST 会自动在引号前添加斜杠,那么为什么还要应用 mysql_real_escape_string() 呢?例如,当我在输入字段中输入 'rrr 时,当我回显它时得到 \'rrr

最佳答案

因为只有在您的 php 配置中启用了 MacigQuotes 时才会发生这种情况,据我所知,这在当今相当罕见。此外,mysql_real_escape_string 还转义了其他与 MySQL 相关的字符。

查看 http://php.net/manual/en/security.magicquotes.php有关魔术引号的更多信息。

正如你所看到的,这个指令已经有弃用警告,所以无论如何你应该检查你的服务器配置^^

编辑:要禁用魔术引号,请在您的 xampp 文件夹中搜索 php.ini,然后添加或更改(如果存在)以下指令:

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

关于php - 为什么要费心使用 mysql_real_escape_string() 因为 $_POST 会自动在引号前添加斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1747677/

相关文章:

php - 将范围 slider 数据上传到 mysql 数据库

java - 将自定义对象数组发布到 Struts 2 操作

php - Python 中的 cURL 帮助

java - 编译时 SQL 中的单个代码问题

php - 如何正确转义字符串以用于 PHP 中的正则表达式?

colors - 如何使用 D 将颜色打印到控制台中?

php - 从相关表 yii 创建下拉列表

php - 如何防止直接访问 Apache 中的文件?

php - 使用连接进行复杂的 MySQL 计数

javascript - php post 返回 true 或无错误后 AJAX 重定向