php過濾危險(xiǎn)html代碼
用PHP過濾html里可能被利用來引入外部危險(xiǎn)內(nèi)容的代碼。有些時(shí)候,需要讓用戶提交html內(nèi)容,以便豐富用戶發(fā)布的信息,當(dāng)然,有些可能造成顯示頁面布局混亂的代碼也在過濾范圍內(nèi)。
#用戶發(fā)布的html,過濾危險(xiǎn)代碼
function uh($str)
{
$farr = array(
"/\s+/", //過濾多余的空白
"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU", //過濾 <script 等可能引入惡意內(nèi)容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", //過濾javascript的on事件
);
$tarr = array(
" ",
"<\\1\\2\\3>", //如果要直接清除不安全的標(biāo)簽,這里可以留空
\\1\\2,
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|