php对用户输入数据的转义处理

先说明1个PHP内置函数:get_magic_quotes_gpc()

这个函数的作用就是得到php.ini设置中magic_quotes_gpc选项的值。

而magic_quotes_gpc选项如果值为On,PHP解析器就会自动为post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的致命的错误。

开启时,单引号(’)、双引号(”)、反斜线(\)与 NUL(NULL 字符)等字符都会被加上反斜线,否则需要手动处理,就用到了addslashes()

magic_quotes_gpc值为On时返回1,否则返回0

addslashes() 函数在指定的预定义字符前添加反斜杠。也就是上面列出的字符

但在PHP5.4以上取消了get_magic_quotes_gpc()内置函数,为了避免以后出错,所以这样过滤所有输入:

if(!function_exists(get_magic_quotes_gpc) || !get_magic_quotes_gpc() )) {
    foreach(array('_COOKIE', '_POST', '_GET') as $v) {
        foreach($$v as $kk => $vv) {
            $kk{0} != '_' && $$v[$kk] = addslashes($vv);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值