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