首页 >后端开发 >php教程 >为什么即使禁用了 Magic Quotes,POST 数据在 PHP/WordPress 中仍然会自动转义?

为什么即使禁用了 Magic Quotes,POST 数据在 PHP/WordPress 中仍然会自动转义?

Barbara Streisand
Barbara Streisand原创
2024-10-26 15:29:031043浏览

Why is POST Data Still Auto-Escaped in PHP/WordPress Even with Magic Quotes Disabled?

尽管禁用“魔术引号”,PHP/WordPress 仍自动转义

问:禁用魔术引号功能(通过 get_magic_quotes_gpc() 返回 0 ),为什么 POST 数据在 PHP/WordPress 中继续自动转义?

答:虽然可以关闭魔术引号,但 WordPress 引入了自己的 POST 数据转义机制。这是由于 WordPress 错误跟踪器 (http://core.trac.wordpress.org/ticket/18322) 中描述的已知问题造成的。

要解决此问题,您可以使用 stripslashes_deep()函数,如 WordPress Codex (http://codex.wordpress.org/Function_Reference/stripslashes_deep) 建议的那样:

<code class="php">$_GET = array_map('stripslashes_deep', $_GET);
$_POST = array_map('stripslashes_deep', $_POST);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_SERVER = array_map('stripslashes_deep', $_SERVER);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);</code>

注意:虽然这种方法可以有效地去除斜杠,但建议考虑其他方法正如 Alexander O'Mara 和 Quickshiftin 所建议的,“本地剥离”而不覆盖超全局变量。

以上是为什么即使禁用了 Magic Quotes,POST 数据在 PHP/WordPress 中仍然会自动转义?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn