用php過濾危險html代碼的函數(shù)
更新時間:2008年07月22日 00:29:54 作者:
用PHP過濾html里可能被利用來引入外部危險內(nèi)容的代碼。有些時候,需要讓用戶提交html內(nèi)容,以便豐富用戶發(fā)布的信息,當(dāng)然,有些可能造成顯示頁面布局混亂的代碼也在過濾范圍內(nèi)。
#用戶發(fā)布的html,過濾危險代碼
function uh($str)
{
$farr = array(
"/\\s+/", //過濾多余的空白
"/<(\\/?)(scrīpt|i?frame|style|html|body|title|link|meta|\\?|\\%)([^>]*?)>/isU", //過濾 <scrīpt 等可能引入惡意內(nèi)容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
"/(<[^>]*)on[a-zA-Z]+\\s*=([^>]*>)/isU", //過濾javascrīpt的on事件
);
$tarr = array(
" ",
"<\\\\1\\\\2\\\\3>", //如果要直接清除不安全的標簽,這里可以留空
"\\\\1\\\\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
function uh($str)
{
$farr = array(
"/\\s+/", //過濾多余的空白
"/<(\\/?)(scrīpt|i?frame|style|html|body|title|link|meta|\\?|\\%)([^>]*?)>/isU", //過濾 <scrīpt 等可能引入惡意內(nèi)容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
"/(<[^>]*)on[a-zA-Z]+\\s*=([^>]*>)/isU", //過濾javascrīpt的on事件
);
$tarr = array(
" ",
"<\\\\1\\\\2\\\\3>", //如果要直接清除不安全的標簽,這里可以留空
"\\\\1\\\\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
您可能感興趣的文章:
相關(guān)文章
php源碼分析之DZX1.5隨機數(shù)函數(shù)random用法
這篇文章主要介紹了php源碼分析之DZX1.5隨機數(shù)函數(shù)random用法,實例分析了DZX1.5中random函數(shù)生成隨機字符串的使用技巧,需要的朋友可以參考下2015-06-06
php通過baihui網(wǎng)API實現(xiàn)讀取word文檔并展示
這篇文章主要介紹了php通過baihui網(wǎng)API實現(xiàn)讀取word文檔并展示的相關(guān)資料,需要的朋友可以參考下2015-06-06
淺談并發(fā)處理PHP進程間通信之System V IPC
對于進程間通信,每一個完備的語言都應(yīng)該有對應(yīng)的處理方式,而 PHP 對應(yīng)的則是一族對 UNIX SYSTEM V包裝的函數(shù),包括信號量(semaphore)、共享內(nèi)存(shared memory)和消息隊列(msg queue)的操作。2021-05-05
編譯php 5.2.14+fpm+memcached(具體操作詳解)
本篇文章是對編譯php5.2.14+fpm+memcached的具體操作進行了詳細的分析介紹,需要的朋友參考下2013-06-06

