魔术引号造成问题

时间:2013-11-04 13:04:58

标签: php .htaccess

我在共享服务器magic_quotes_gpc中已启用。我尝试将以下代码添加到.htaccess文件中。

php_flag magic_quotes_gpc Off

当我在.htaccess中使用上述行时,会抛出500个内部服务器错误。

即使我也尝试过使用ini_set

问题在于CKEEditor。它会添加双引号。编辑不是正确的。我也经历了几个答案,但没有得到正确答案。

请指导我。

PHP版本:5.3.24

2 个答案:

答案 0 :(得分:2)

如果您无法通过任何方式禁用魔术引号,请使用PHP手册中的示例代码作为解决方法来删除额外的斜杠:http://php.net/manual/en/security.magicquotes.disabling.php

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);
}

答案 1 :(得分:1)

根据the docsmagic_quotes_gpc指令为PHP_INI_PERDIR,因此您应该可以更改它。

每当您在实时服务器中看到“500 Internal Server Error”状态代码时,您应该前往日志文件并找出确切原因(而不是猜测)。无论如何,我怀疑Apache抱怨php_flag指令未知。如果是这种情况,那么您的PHP解释器作为Apache模块运行,因此您无法使用Apache文件来更改它。

由于您的托管帐户似乎已经过时了,因此您的FTP帐户中可能会有一个自定义php.ini文件。