magic_quotes off - 可以代码中断吗?

时间:2012-03-07 17:59:19

标签: php magic-quotes

如果我在没有编写代码的环境中关闭magic_quotes,我该如何检查是否可能出现任何问题?我需要检查什么?哪些功能可能不再起作用?

3 个答案:

答案 0 :(得分:1)

magic_quotes 开启时,Magic Quotes会自动对提交的所有表单数据执行addslashes()。这意味着[\]会在数据中的每个['],[“],[]或null之前放置,因此That's nice会自动转换为That\'s nice。这一切都会发生在你的编码甚至看到那些数据之前,所以如果你只是将一个字符串传递给下一页(而不是数据库),它将使用斜杠打印,即使你根本不需要它们。

答案 1 :(得分:0)

不幸的是,我认为没有一个简单的答案。您需要检查您直接使用用户输入的任何地方。如果代码足够简单,你可以搜索$ _GET和$ _POST的使用,但至少没有扫描代码审查,你不可能找到那样的东西。

当我关闭它时,我已经打破了很多东西的是sql insert / update查询,其中有人编写了包含他们没有正确转义的请求参数。

答案 2 :(得分:0)

魔术引号会影响传入的数据字符串。您使用$_GET$_POST的任何地方或此类变量都会受到影响。

基本上,您接受用户数据的任何地方。

注意:更重要的是,您应该查看所有的SQL查询,并确保所有输入字符串都已转义!否则,您的代码将容易受到SQL注入的攻击。<​​/ p>