您的位置:首页 > 编程语言 > PHP开发

php强劲过滤表单的方法

2018-02-06 15:26 411 查看
function wjStrFilter($str,$pi_Def="",$pi_iType=1){

if ( isset($_GET[$str]) )
$str = trim($_GET[$str]);
else if ( isset($_POST[$str]))
$str = trim($_POST[$str]);
else if ($str)
$str = trim($str);
else
return $pi_Def;
// INT
if ($pi_iType==0)
{
if (is_numeric($str))
return $str;
else
return $pi_Def;
}

// String
if($str){
$str=str_replace("chr(9)"," ",$str);
$str=str_replace("chr(10)chr(13)","<br />",$str);
$str=str_replace("chr(10)","<br />",$str);
$str=str_replace("chr(13)","<br />",$str);
$str=str_replace("chr(32)"," ",$str);
$str=str_replace("chr(34)",""",$str);
$str=str_replace("chr(39)","'",$str);
$str=str_replace("script", "script",$str);
$str=str_replace("&","&",$str);
$str=str_replace(";",";",$str);
$str=str_replace("'","'",$str);
$str=str_replace("<","<",$str);
$str=str_replace(">",">",$str);
$str=str_replace("#","(",$str);
$str=str_replace("*","*",$str);
$str=str_replace("--","--",$str);

$str=preg_replace("/insert/i", "",$str);
$str=preg_replace("/update/i", "",$str);
$str=preg_replace("/delete/i", "",$str);
$str=preg_replace("/select/i", "",$str);
$str=preg_replace("/drop/i", "",$str);
$str=preg_replace("/load_file/i", "",$str);
$str=preg_replace("/outfile/i", "",$str);
$str=preg_replace("/into/i", "",$str);
$str=preg_replace("/exec/i", "",$str);
$str=preg_replace("/ssc_/i", "",$str);
$str=preg_replace("/union/i", "",$str);
$str=preg_replace("/%/i", "",$str);

if (get_magic_quotes_gpc()){
$str = str_replace("\\\"", """,$str);
$str = str_replace("\\''", "'",$str);
}else{
$str = addslashes($str);
$str = str_replace("\"", """,$str);
$str = str_replace("'", "'",$str);

}
$str=mysql_escape_string($str);
}
return $str;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: