function gjj($str)
{
$farr = array( //定义过滤规则的数组
"/\\s+/",
"/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",
);
$str = preg_replace($farr,"",$str); //用正则方式对字符串进行过滤
return addslashes($str); //返回字符串时对引号进行转义
}
function hg_input_bb($array)
{
if (is_array($array))
{
foreach($array AS $k => $v) //遍历提交上来的全局变量数组
{
$array[$k] = hg_input_bb($v);
}
}
else
{
$array = gjj($array);
}
return $array;
}
$_REQUEST = hg_input_bb($_REQUEST); //过略request方式的请求
$_GET = hg_input_bb($_GET); //过滤get方式的请求
$_POST = hg_input_bb($_POST); //过滤post方式的请求
可以过滤某些特殊字符和常见的html标签,防范基础的xss共攻击和sql注入。
网友评论