轉(zhuǎn)帖|其它|編輯:郝浩|2008-09-01 10:57:42.000|閱讀 780 次
概述:PHP技巧:php過濾危險(xiǎn)html代碼
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
用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;
}
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:中國站長站