PHP过滤一些基本的XSS和SQL注入
单字符串的过滤
/**
* 参数过滤
*
* @param string $str
* @return string $str
*/
function filterWords($str=''){
$farr = array(
"/<(\\/?)(script|iframe|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",
"/select|insert|update|delete|if|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is"
);
$str = preg_replace($farr,'',$str);
return $str;
}过滤整个数组
/**
* 过滤接受的参数或者数组,如$_GET,$_POST
* @param array|string $arr 接受的参数或者数组
* @return array|string
*/
function filteringArr($arr){
$farr = array(
"/<(\\/?)(script|iframe|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",
"/select|insert|update|delete|if|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dump/is"
);
if(is_array($arr)){
foreach($arr as $k => $v){
$arr[$k] = preg_replace($farr,'',$v);
}
}else{
$arr = preg_replace($farr,'',$arr);
}
return $arr;
}上一篇 : PHP的常用方法
-------------本文结束感谢您的阅读-------------
