首页 > 后端开发 > php教程 > 为什么 WordPress 自动转义在禁用 Magic Quotes 后仍会发布数据?

为什么 WordPress 自动转义在禁用 Magic Quotes 后仍会发布数据?

Patricia Arquette
发布: 2024-10-26 20:56:03
原创
746 人浏览过

Why Does WordPress Auto-Escape POST Data Even After Disabling Magic Quotes?

WordPress 中 POST 数据的神秘自动转义

尽管通过 php.ini 禁用了魔术引号,PHP 和 WordPress 仍然继续自动转义POST 数据包含单引号。这个令人困惑的问题让开发者摸不着头脑。

WordPress 自动转义的起源

自动转义的根本原因在于 WordPress 的引导过程。 WordPress 初始化时,会激活一段代码,自动转义用户输入中的某些字符。

自动转义的解决方案

要解决此问题,建议:使用以下代码临时覆盖全局变量:

$_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);
登录后复制

或者,您可以考虑使用更有针对性的方法,通过“本地剥离”而不是覆盖超全局变量。例如:

$post = array_map('stripslashes_deep', $_POST);
登录后复制

其他注意事项

覆盖超全局变量可能会影响应用程序的其他部分。因此,请仔细评估它是否适合您的具体情况。

@Alexander O'Mara 和 @quickshiftin 的进一步见解为该主题提供了宝贵的观点。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板