php 過濾危險html代碼
更新時間:2009年06月29日 23:28:41 作者:
用PHP過濾html里可能被利用來引入外部危險內(nèi)容的代碼。有些時候,需要讓用戶提交html內(nèi)容,以便豐富用戶發(fā)布的信息,當(dāng)然,有些可能造成顯示頁面布局混亂的代碼也在過濾范圍內(nèi)。
#用戶發(fā)布的html,過濾危險代碼
function uh($str)
{
$farr = array(
"/\s+/", //過濾多余的空白
"/<(\/?)(scripti?framestylehtmlbodytitlelinkmeta\?\%)([^>]*?)>/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;
}
復(fù)制代碼 代碼如下:
function uh($str)
{
$farr = array(
"/\s+/", //過濾多余的空白
"/<(\/?)(scripti?framestylehtmlbodytitlelinkmeta\?\%)([^>]*?)>/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;
}
您可能感興趣的文章:
- php過濾html標(biāo)記屬性類用法實例
- php過濾HTML標(biāo)簽、屬性等正則表達(dá)式匯總
- php過濾html中的其他網(wǎng)站鏈接的方法(域名白名單功能)
- PHP中HTML標(biāo)簽過濾技巧
- 淺析php過濾html字符串,防止SQL注入的方法
- php正則過濾html標(biāo)簽、空格、換行符的代碼(附說明)
- php HtmlReplace輸入過濾安全函數(shù)
- php下過濾html代碼的函數(shù) 提高程序安全性
- php 正則 過濾html 的超鏈接
- php完全過濾HTML,JS,CSS等標(biāo)簽
- PHP+Tidy-完美的XHTML糾錯+過濾
- php實現(xiàn)過濾表單提交中html標(biāo)簽的方法
相關(guān)文章
php 獲取可變函數(shù)參數(shù)的函數(shù)
php取得可變函數(shù)參數(shù),方便后面的控制。2009-08-08
PHP實現(xiàn)將漢字轉(zhuǎn)換為拼音及獲取詞語首字母的方法
這篇文章主要介紹了PHP實現(xiàn)將漢字轉(zhuǎn)換為拼音及獲取詞語首字母的方法,涉及php字符串、數(shù)組的遍歷及編碼轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
PHP學(xué)習(xí)筆記 用戶注冊模塊用戶類以及驗證碼類
最近正在學(xué)習(xí)《PHP&MySQL范例精解》,剛剛看到第一張,關(guān)于用戶注冊模塊的設(shè)計,這本書提供了很多可重用類,便于用于其它項目中。2011-09-09
PHP如何使用XlsWriter實現(xiàn)百萬級數(shù)據(jù)導(dǎo)入導(dǎo)出
這篇文章主要為大家詳細(xì)介紹了PHP如何使用XlsWriter實現(xiàn)百萬級數(shù)據(jù)導(dǎo)入導(dǎo)出,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
關(guān)于訪問控制的一首PHP面試題(對屬性或方法的訪問控制)
對屬性或方法的訪問控制,是通過在前面添加關(guān)鍵字 public、protected 或 private 來實現(xiàn)的2012-09-09

