¡¡¡¡checksql.phpÎļþ£ºÔÚ³ÌÐòµÄ¿ªÍ·ÒýÓÃ
function checksql($str){//¹ýÂË
$encoding ="utf-8";
$str=trim($str);
$mgl_str="script,iframe,and,execute,update,count,mid,master,truncate,char,create,delete,insert,drop";//ÐèÒª¹ýÂ˵ĵ¥´Ê
$mgl_array=explode(",",$mgl_str);
if(in_array(strtolower($str),$mgl_array)){//ÈçÊǵ¥´ÊµÄÔò²»Òª¹ýÂË ÈçÖµÖ±½ÓµÈÓÚdeleteÔòÃâ¹ýÂË
return $str;
}
for($i=0;$i
$len=strlen($val);
$a1=substr($val,0,1);
$new_val="".ord($a1).";".substr($val,1,($len-1));
$str = str_ireplace($val,$new_val,$str); //Òâ˼¾ÍÊǰÑscriptÌæ»»³Éscript ÆäsÔÚhtmlÉÏÔò»áÖ±½ÓÏÔʾ³ösÀ´£¬¾ÍÏñ ÊǿոñÒâ˼
}
//if(!get_magic_quotes_gpc()){
$str=addslashes($str);
//}
$str = str_ireplace("(","(",$str); ¡®asciiÂë±íÖеÄ(×Ö·ûÊÇ40
$str = str_ireplace(")",")",$str); ¡®asciiÂë±íÖеÄ)×Ö·ûÊÇ41,)ÔòÊÇhtmlµÄÌØÊâ·ûºÅ£¬¸ú Ò»Ñù
$str = str_ireplace("`","`",$str);
return $str;
}
function unchecksql($str){//·´¹ýÂË
$str=trim($str);
$mgl_str="script,iframe,and,execute,update,count,mid,master,truncate,char,create,delete,insert,drop";//ÐèÒª·´¹ýÂ˵ĵ¥´Ê
$mgl_array=explode(",",$mgl_str);
for($i=0;$i
$len=strlen($val);
$a1=substr($val,0,1);
$old_val="".ord($a1).";".substr($val,1,($len-1));
$str = str_ireplace($old_val,$val,$str);
}
$str = str_ireplace("(","(",$str);
$str = str_ireplace(")",")",$str);
$str = str_ireplace("`","`",$str);
$str=stripslashes($str);
return $str;
}
function checkvalues($arr){//±éÀú¹ýÂËÊý×é
foreach($arr as $k =>$v){
if(is_array($v)){
$arr[$k]=checkvalues($v);
}else{
$arr[$k]=checksql($v);
}
}
return $arr;
}
?>
auto_check.aspÎļþ£ºÔÚ³ÌÐòµÄ¿ªÍ·ÒýÓÃ
if(isset($_GET)){
$_GET=checkvalues($_GET);
}
if(isset($_POST)){
$_POST=checkvalues($_POST);
}
if(isset($_REQUEST)){
$_REQUEST=checkvalues($_REQUEST);
}
?>
²âÊÔÀý×Ó£º
//À¬»øasp.net ÄÜÕâÑù×Ó¶¯Ì¬×¢²áÊý×éô£¬È˸ö¾õµÃasp.net¾ÍÊÇһλºÜ»áË£Á÷Ã¥µÄ¼Ò»ï£¬Ëû¸ù±¾¾ÍÊDz»ÈÃÄãÒ»·ÖÖÓ֮ǰ¾Í¶®µÃÔõô¸ã¶¯Ì¬Êý×飬ÐèÒª»¨ºÜ³¤Ê±¼äÄã²Å¶®£¬·Ç³£·±Ëö
$res["title"]=123456;
$names1=array("name"=>"my2 name is delete","execute"=>"abc execute");
$names[0]=$names1;
$names2=array("name"=>"my2 name isdelete","execute"=>"4521 execute");
$names[1]=$names2;
$res["names"]=$names;
var_dump(checkvalues($arr));
//echo unchecksql("1333333333\' or 1=1 or \' script");
?>