问一段php代码 //This stops SQL Injection in POST vars

徐耀湘 发布于 2012/07/20 08:39
阅读 152
收藏 1
PHP
//This stops SQL Injection in POST vars 
foreach ($_POST as $key => $value) { 
    if(is_array($value))
    {
        foreach($value as $k=>$v)        
            $value[$k] = $yiqi_db->escape($v);        
        $_POST[$key] = $value;
    }
    else
    {
        $_POST[$key] = $yiqi_db->escape($value);
    } 
}
加载中
0
酒逍遥
酒逍遥
过滤post数据...去掉可能存在的sql注入吧
0
byhard
byhard
看看这个方法的定义 $yiqi_db ->escape(),估计是处理$value值,防止SQL注入。
0
sniperBlank
sniperBlank
escape,就是防止SQL注入的!
0
赵开锦
赵开锦

在很多脚本语言的应用当中,escape函数是一个可转换编码的函数

比如javascript 的 ajax 中,向a.php传递参数?city=北京,可先将"北京"用escape重新编码,再进行传递,在服务器端接收后再解码才不会出现乱码。

escape一般用于传递URL参数,对应的函数是unescape用于解码的。

但是在本例中,看注释是sql的注入过滤,所以应该是自定义了一个escape函数用户封装系统的mysql_real_escape_string函数或mysql_escape_string函数的。

返回顶部
顶部