如果我在没有编写代码的环境中关闭了magic_quotes,如何检查是否会出现问题?我要检查什么?哪些功能可能不再起作用?
问问题
126 次
3 回答
1
当magic_quotes打开时,Magic Quotes 会自动addslashes()
对所有提交的表单数据执行一次。这意味着 a[\]
放置在数据中的每个 [']、["]、[] 或 null 之前,因此That's nice
将That\'s nice
自动转换为。这一切都发生在您的编码甚至看到该数据之前,所以如果您只是传递下一页(不是数据库)的字符串,即使您可能根本不想要它们,它也会用斜杠打印。
于 2012-03-07T18:08:53.670 回答
0
不幸的是,我认为没有一个简单的答案。您需要检查您直接使用用户输入的任何地方。如果代码足够简单,您可以搜索 $_GET 和 $_POST 的用途,但至少没有扫描代码审查,您不太可能以这种方式找到所有内容。
当我关闭它时,我遇到的一件事是有人编写的 sql 插入/更新查询包含他们没有正确转义的请求参数。
于 2012-03-07T18:01:54.730 回答
0
魔术引号会影响传入的数据字符串。您使用的任何地方$_GET
或$_POST
该性质的变量都可能受到影响。
基本上,您接受用户数据的任何地方。
注意:更重要的是,您应该查看所有SQL 查询并确保所有输入字符串都被转义!否则您的代码将容易受到 SQL 注入的攻击。
于 2012-03-07T18:02:21.237 回答