addslashes,stripslashes

官方介绍:
(PHP 4, PHP 5)
addslashes — 使用反斜线引用字符串
返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)。
PHP 5.4 之前 PHP 指令 magic_quotes_gpc 默认是 on, 实际上所有的 GET、POST 和 COOKIE 数据都用被 addslashes() 了。 不要对已经被 magic_quotes_gpc转义过的字符串使用 addslashes(),因为这样会导致双层转义。 遇到这种情况时可以使用函数 get_magic_quotes_gpc()进行检测。

//当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1
//当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0
$str=$_POST["str"];//读取str的内容赋值给$str变量
if(get_magic_quotes_gpc())//如果get_magic_quotes_gpc()是打开的
{
$str=stripslashes($str);//将字符串进行处理
}

 那么,问题来了,现在使用php5.6,get_magic_quotes_gpc() 为 false,可是,直接获取$_POST的值,还是直接给转义了,这是为什么呢???

posted on 2016-10-16 20:40  爱吃柠檬不加糖  阅读(170)  评论(0编辑  收藏  举报

导航