禁用魔法引号

时间:2012-10-25 20:10:49

标签: php wordpress

  

可能重复:
  How to turn off magic quotes on shared hosting?

我整天都在试图在我的WordPress主题中禁用魔术引号......

我已经尝试了.htaccess和php.ini(以及php5.ini)文件方法但是.htaccess给了我500个内部服务器错误(我的主机是GoDaddy)而php.ini方法却没有工作。我也尝试过使用我在网上发现的几十种不同代码的php方法,这是其中之一:

if (get_magic_quotes_gpc()) 
{
function remove_slash(&$value)
{
$value = stripslashes($value);
}
array_walk_recursive($_GET, "remove_slash");
array_walk_recursive($_POST, "remove_slash");
array_walk_recursive($_COOKIE, "remove_slash");
array_walk_recursive($_REQUEST, "remove_slash");
}

然而,他们中没有一个人摆脱那些恼人的反斜杠!如果有人在这里设法为我解决这个问题,我真的很感激。

1 个答案:

答案 0 :(得分:1)

在我的项目中,我使用它:

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禁用它。

php_flag magic_quotes_gpc off

我相信这两种方法都有效。