您的位置:首页 > 其它

addslashes()、stripslashes()和magic_quotes_gpc

2016-01-31 09:14 531 查看
默认情况下,PHP 指令stripslashes()为 on,它主要是对所有的
GET、POST 和 COOKIE 数据自动运行addslashes()。不要对已经被 magic_quotes_gpc
转义过的字符串使用 addslashes(),因为这样会导致双层转义。

thinkphp里index.php开始处检测magic_quotes_gpc设置的话就用stripslashes()函数递归处理$_GET,$_POST。相当于不对$_GET、$_POST做addslashes()处理。

if (ini_get('magic_quotes_gpc')) {
function stripslashesRecursive(array $array){
foreach ($array as $k => $v) {
if (is_string($v)){
$array[$k] = stripslashes($v);
} else if (is_array($v)){
$array[$k] = stripslashesRecursive($v);
}
}
return $array;
}
$_GET = stripslashesRecursive($_GET);
$_POST = stripslashesRecursive($_POST);

}

==================2017-02-09==============================

stripslashes相当于addslashes的反函数

addslashes() 函数在指定的预定义字符前添加反斜杠。

这些预定义字符是:

单引号 (')
双引号 (")
反斜杠 (\)
NULL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: