使用 magic_quotes() 是否影响 mysql_real_escape_string() 的使用
如果我打开magic_quotes
并且使用mysql_real_escape_string
,字符串会被双重转义吗?会引起问题吗?
我基于 get_magic_quotes()
函数假设是这样,但只是寻求确认。
(PS,提出这个问题比在我的办公室中测试它更容易,因为我们拥有所有的安全措施 - 我需要 10-15 时间来配置所有内容以获得可用的环境)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
阅读
mysql_real_escape_string
的文档 (我希望这也不难):Read the documentation of
mysql_real_escape_string
(I hope this is not difficult as well):如果您转义从 get/post/cookie 输入获得的值,它将已经具有
addslashes()
应用于它,因此通过mysql_real_escape_string()
传递它实际上将是双引号。要剥离它们:
这个问题还有一些其他选项用于剥离引号/处理可怕的
magic_quotes_gpc
PHP“功能”。If you escape a value obtained from get/post/cookie input, it will already have
addslashes()
applied to it, so passing it throughmysql_real_escape_string()
will in fact, double quote.To strip em:
This question has some other options for stripping quotes / dealing with the horrible
magic_quotes_gpc
PHP 'feature'.当然,最简单的方法就是关闭 magic_quotes。
与通常的 PHP/Apache 配置一样,
.htaccess
文件中的这一行将完成此操作。但出于兼容性目的,也可以在某些配置文件中使用函数。
最简单的之一
Of course, the easiest way is to turn magic_quotes off.
wuth usual PHP/Apache config, this line
in the
.htaccess
file will do the thing.but for the compatibility purpose, a function can be used in some config file too.
one of the easiest
是的,它会,但你可以这样做:
注意:你可以禁用 PHP.ini 中的魔术引号或使用以下函数覆盖它:
Yes, it will but you could do something like this though:
Note: You can disable the magic quotes from PHP.ini or use the below function to override it: