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 有效解决了该问题,但请考虑以下替代方法:
以上是为什么 WordPress 在禁用 Magic Quotes 后仍然会转义数据?的详细内容。更多信息请关注PHP中文网其他相关文章!