日期:2014-05-16  浏览次数:20877 次

PHP防SQL注入函数:mysql_real_escape_string
我们在使用php+mysql时,一般情况下都要接受用户输入的数据,这就意味着很大的风险,因为用户可能输入正常数据,也可能输入恶意的代码。作为developer,必须严格过滤用户的数据,来保护我们的网站安全。
    PHP中可以使用 mysql_real_escape_string 函数来过滤非法字符。本函数将 string 中的特殊字符转义,并考虑到连接的当前字符集,因此可以安全用于 mysql_query()。
    mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。下列字符受影响:
\x00
\n
\r
\
'
"
\x1a
如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。
    飘易利用下面的这个函数,就可以有效过滤了。
function safe($s){ //安全过滤函数
if(get_magic_quotes_gpc()){ $s=stripslashes($s); }
$s=mysql_real_escape_string($s);
return $s;
}
    或者在conn公共连接文件里加入,这样就无需修改代码了:
if(get_magic_quotes_gpc()) { $_REQUEST = array_map( 'stripslashes', $_REQUEST); }
$_REQUEST = array_map( 'mysql_real_escape_string', $_REQUEST);
    mysql_real_escape_string语法