时间: 2021-07-31 作者:daque
用php过滤html里大概被运用来引入外部伤害实质的代码。有些功夫,须要让用户提交html实质,再不充分用户颁布的消息,固然,有些大概形成表露页面构造凌乱的代码也在过滤范畴内。
#用户颁布的html,过滤伤害代码
function uh($str)
{
$farr = array(
"/\s+/", //过滤过剩的空缺
"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isu", //过滤 <script 等大概引入歹意实质或歹意变换表露构造的代码,即使不须要插入flash等,还不妨介入<object的过滤
"/(<[^>]*)on[a-za-z]+\s*=([^>]*>)/isu", //过滤javascript的on事变
);
$tarr = array(
" ",
"<\\1\\2\\3>", //即使要径直废除不安定的标签,这边不妨留空
"\\1\\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}