配置 magic_quotes_gpc = off 无效的解决方法

来源:互联网 发布:我是淘宝卖家怎么收钱 编辑:程序博客网 时间:2024/06/17 15:44

1.修改PHP配置文件
通过 php.ini 文件把这些选项设为 Off 。
; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ‘ with ” instead of ’).
magic_quotes_sybase = Off

2.APACHE的设置文件
修改网站目录下的 .htaccess
php_flag magic_quotes_gpc Off

有些主机空间可能修改 .htaccess 没有效果,但是能修改php.ini 却也不能生效。比如我用的这个国外空间就是,空间商给每个空间都分配了一个 php.ini.htaccess 而上述方式修改都无效,后来网络查了下,修改php.ini 后再用 .htaccess引入目录下的 php.ini即可,代码(在哪??)如下,绝对路径php.ini 所在的路径
suPHP_ConfigPath 绝对路径  

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

代码就是这样。最好使用,前2种这样能能提升程序效率,实在不行再考虑最后一种
最后一种可移植性好,但效率较低