magic_quotes_runtime弃用的用法和原因

时间:2013-07-01 17:18:05

标签: php

我的代码使用set_magic_quotes_runtime()和magic_quotes_runtime()。

我刚注意到他们已被弃用。

这些功能是否存在重要的安全问题?或者我可以在php 5.3或更高版本上使用它们而没有问题吗?

他们为何弃用?

2 个答案:

答案 0 :(得分:2)

原因必须是它的用途:在SQL语句中消除值。问题是magic_quotes中的转义方法对于它最常用的目标是不正确的:MySQL。这可能会导致安全漏洞。

除此之外,它还强制执行错误的编程实践。任何编写PHP代码的人都必须检查当前的php.ini值并撤消魔术引用,以确保代码在魔法引号打开或关闭的情况下一致地工作。

该功能已弃用,实际上不再有效。

如果您希望正确地逃避查询,请查看MySQLi或PDO的准备语句。

修改原来甚至还有一个维基百科页面! http://en.wikipedia.org/wiki/Magic_quotes

答案 1 :(得分:1)

它没有管理将引号放在字符串中的所有可能性。