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

为什么 WordPress 在禁用 Magic Quotes 后仍然会转义数据?

Patricia Arquette
发布: 2024-10-29 06:56:02
原创
357 人浏览过

Why is WordPress Still Escaping Data After Disabling Magic Quotes?

WordPress 禁用魔术引号的自动转义困境

尽管在 PHP 配置中禁用了魔术引号,WordPress 仍继续自动转义 POST 数据,特别是单引号。这种令人费解的行为经常让开发人员感到困惑。

原因和解决方案

根本原因在于 WordPress 的引导过程。当 WordPress 的多站点功能处于活动状态时,它会启动自动转义。要解决此问题,请在 WordPress 引导之前添加以下代码:

<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>
登录后复制

此代码将在自动转义发生之前从 WordPress 的请求对象中去除斜杠。

替代方法

虽然 stripslashes_deep 有效解决了该问题,但请考虑以下替代方法:

  • 使用“本地剥离”:仅从特定 POST 数据元素中剥离斜杠。例如: $post = array_map('stripslashes_deep', $_POST);
  • 禁用WordPress的自动转义:添加define('AUTOMATIC_ESCAPING_DISABLED', true);到您的 WordPress 配置文件 (wp-config.php)。这会禁用自动转义,但应谨慎使用。

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

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