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的常用方法
-------------本文结束感谢您的阅读-------------