sql 注入

sql注入对于网站是很危险的。

通过sql注入可以轻松越过权限控制或者被人窃取信息,还有可能数据库中的数据被人破坏。

防止sql注入的一个简单的方法是 通过 addslashes函数转义字符串。

$name = "' or 1=1 or '";
//$name = addslashes($name);
$sql = 'select * from t where name = \'' . $name . '\'';
$query = mysql_query($sql,$conn);
while($res = mysql_fetch_assoc($query)) {
    print_r($res);
}

/*
转义前和转义后的$sql分别为
select * from t where name = '' or 1=1 or ''
select * from t where name = '\' or 1=1 or \''
*/

如果没有 $name = addslashes($name);这行代码,则会将数据库中的全部数据查出来。

如果进行了转义,则结果集为空。

posted @ 2014-03-17 16:40  小刘_php  阅读(109)  评论(0)    收藏  举报