有时在开发前后没有对表单进行过滤处理,导致用户能将JS,CSS等引入方式的提交到数据库,从而导致各种错误,甚至可以导致各种危险因素,解决方法也很简单,也就是过滤掉这些危险标签即可。
代码:
/**
* 字符串过滤
* @param 字符串 $str
*/
function strFilter($str)
{
$farr = array(
"/\s+/", //过滤多余空白
//过滤
"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",//过滤javascript的on事件
);
$tarr = array(
"",
"",//如果要直接清除不安全的标签,这里可以留空
"",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}