【问题标题】:wordpress magic quotes by php codephp代码的wordpress魔术引号
【发布时间】:2012-05-20 13:18:23
【问题描述】:

我有 wordpress 安装,其中魔术引号在 phpini 文件中设置为 ON。 这导致每次我更新帖子时都会重复每个引用。

我无法更改 phpini 超出我的能力,所以唯一的方法是通过 php 代码。

我的 wp-config.php 文件中的参数用魔术引号设置为 0。

有人知道我在哪里添加了一些代码来执行它。

我使用自定义帖子,所以我需要一个兼容的解决方案。

提前致谢。

【问题讨论】:

  • 与您的托管服务提供商联系以禁用这个可怕的功能。或者尝试创建一个包含php_flag magic_quotes_gpc off.htaccess
  • 哇,十年前全世界都知道魔术行情是一场灾难......
  • 感谢您的回复,但是如果我评论了转义功能,我以后将无法自动升级系统。我需要更多的幸运才能不要忘记这一点。

标签: php wordpress magic-quotes


【解决方案1】:

最后我发现了这个:

if ( get_magic_quotes_gpc() ) {
    $_POST      = array_map( 'stripslashes_deep', $_POST );
    $_GET       = array_map( 'stripslashes_deep', $_GET );
    $_COOKIE    = array_map( 'stripslashes_deep', $_COOKIE );
    $_REQUEST   = array_map( 'stripslashes_deep', $_REQUEST ); 
}

设置在我的页面开头。

它有效。

谢谢大家。

【讨论】:

    【解决方案2】:
    1. 尝试将ini_set( 'magic_quotes_gpc', 0 ); 放在页面顶部
    2. php_flag magic_quotes_gpc off 放入Wordpress 根目录的.htaccess 文件中
    3. 使用代码自动为您去除斜线。这需要放在您希望它处理的页面的顶部:

    .

    if (get_magic_quotes_gpc()) {
        $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
        while (list($key, $val) = each($process)) {
            foreach ($val as $k => $v) {
                unset($process[$key][$k]);
                if (is_array($v)) {
                    $process[$key][stripslashes($k)] = $v;
                    $process[] = &$process[$key][stripslashes($k)];
                } else {
                    $process[$key][stripslashes($k)] = stripslashes($v);
                }
            }
        }
        unset($process);
    }
    

    【讨论】:

    • 我尝试了 .htaccess 方式,但出现以下错误:Internal Server Error 服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员、网站管理员并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。服务器错误日志中可能会提供有关此错误的更多信息。
    猜你喜欢
    • 2010-09-18
    • 2021-07-24
    • 2011-05-17
    • 2011-02-13
    • 2011-01-08
    • 2012-10-16
    • 1970-01-01
    • 2014-01-24
    • 2013-11-15
    相关资源
    最近更新 更多