zblog报错: magic_quotes_gpc 和 safe_mode

2016-02-25
1分钟阅读时长

这几天 zblog 的一个问题让我很是受伤,每隔一段时间,12小时以上(没统计过)打开博客就会报错。

报错信息:(2)E_WARNING : Directive ’ magic_quotes_gpc’ is deprecated in PHP 5.3 and greater (register_shutdown_function) (150101) (Linux; kangle3.4.8; PHP 5.3.3; mysql; curl);(2)E_WARNING : Directive ‘safe_mode’ is deprecated in PHP 5.3 and greater (register_shutdown_function) (150101) (Linux; kangle3.4.8; PHP 5.3.3; mysql; curl);

然后我将 magic_quotes_gpc 和 safe_mode 百度了下,它们的作用就是自动帮你转义数据,提高了网站的安全性。但是php5.3已经不推荐使用这个函数,在php5.4的时候被废弃了,为的是让 PHP 开发者提高安全意识,而不是依赖这个函数。

知道原因了就好办了,在 php.ini 中修改成 off 就行了。

magic_quotes_gpc = off;
safe_mode = off;

如果是虚拟空间的话,则在 .htaccess 文件中禁用。

php_flag  magic_quotes_gpc  Off
php_flag  safe_mode  Off

我看了下 zblog 的源码,它是自定义了一个转义函数。

function _stripslashes(&$var)
{
    if (is_array($var)) {
        foreach ($var as $k => &$v) {
            _stripslashes($v);
        }
    } else {
        $var = stripslashes($var);
    }
}

_stripslashes($_GET);
_stripslashes($_POST);
_stripslashes($_COOKIE);
_stripslashes($_REQUEST);

终于可以愉快的玩耍了~

这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。

本文作者:她和她的猫
本文地址https://her-cat.com/posts/2016/02/25/zblog-safe-mode/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
上一页 终于到了。
下一页 世事无常。