关闭 php 自动转移字符 magic_quotes_gpc

有时候会发现POST请求接收

<script src="http://s19.cnzz.com/stat.php?id=2881411&web_id=2881411&show=pic1" language="JavaScript"></script>

这样双引号(") 的字符串会过滤成 \" 是因为php.ini 开启了 magic_quotes_gpc=On

指令只能在系统级关闭,不能在运行时。也就是说不能用 ini_set()。

解决办法:

1.打开PHP.ini 改成 magic_quotes_gpc=Off

2.在程序内改变 在不需要转义的页面加入一下代码即可

<?php
if (get_magic_quotes_gpc()) {
    function stripslashes_deep($value)
    {
        $value = is_array($value) ?
                    array_map('stripslashes_deep', $value) :
                    stripslashes($value);

        return $value;
    }

    $_POST = array_map('stripslashes_deep', $_POST);
    $_GET = array_map('stripslashes_deep', $_GET);
    $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
    $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
?>
posted @ 2012-05-25 11:29  ohMyGa  阅读(694)  评论(0编辑  收藏  举报