$str=array("update","insert");
foreach($str as $val){
if(strpos($_POST["user"],$val)===true)
die("非法内容!");
}
?>
//如果仅仅需要过滤以上两个关键字,用上边代码就乎让行咯,但防止注入不是你这样理解的,注入是指 根据表单值铅埋或者get数据 构造sql 语句进行危害,比如
$sql="select * from user where id='".$_POST["user"]."'";
如果传来的$_POST["user"]是 a' and 1=1,上边的语句就变成咯
select 槐顷蚂* from user where id='a' and 1=1';
这只是一个简单的举例,实际情况要复杂得多,因此必须对数据进行过滤。我给你一个我自己的过滤函数
function getpost($arr){
if (get_magic_quotes_gpc()){
$arr=is_array($arr)?array_map('stripslashes',$arr):stripslashes($arr);
}
if(is_array($arr)){
foreach($arr as $key=>$val){
$arr[$key]=htmlspecialchars($val,ENT_QUOTES);//html实体转换
$arr[$key]=mysql_real_escape_string($arr[$key]);//防注入替换
}
}else{
$arr=htmlspecialchars($arr,ENT_QUOTES);//html实体转换
$arr=mysql_real_escape_string($arr);//防注入替换
}
return $arr;
}
?>