php 過(guò)濾危險(xiǎn)html代碼
更新時(shí)間:2009年06月29日 23:28:41 作者:
用PHP過(guò)濾html里可能被利用來(lái)引入外部危險(xiǎn)內(nèi)容的代碼。有些時(shí)候,需要讓用戶提交html內(nèi)容,以便豐富用戶發(fā)布的信息,當(dāng)然,有些可能造成顯示頁(yè)面布局混亂的代碼也在過(guò)濾范圍內(nèi)。
#用戶發(fā)布的html,過(guò)濾危險(xiǎn)代碼
function uh($str)
{
$farr = array(
"/\s+/", //過(guò)濾多余的空白
"/<(\/?)(scripti?framestylehtmlbodytitlelinkmeta\?\%)([^>]*?)>/isU", //過(guò)濾 <script 等可能引入惡意內(nèi)容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過(guò)濾
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", //過(guò)濾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+/", //過(guò)濾多余的空白
"/<(\/?)(scripti?framestylehtmlbodytitlelinkmeta\?\%)([^>]*?)>/isU", //過(guò)濾 <script 等可能引入惡意內(nèi)容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過(guò)濾
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", //過(guò)濾javascript的on事件
);
$tarr = array(
" ",
"<\\1\\2\\3>", //如果要直接清除不安全的標(biāo)簽,這里可以留空
"\\1\\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
您可能感興趣的文章:
- php過(guò)濾html標(biāo)記屬性類用法實(shí)例
- php過(guò)濾HTML標(biāo)簽、屬性等正則表達(dá)式匯總
- php過(guò)濾html中的其他網(wǎng)站鏈接的方法(域名白名單功能)
- PHP中HTML標(biāo)簽過(guò)濾技巧
- 淺析php過(guò)濾html字符串,防止SQL注入的方法
- php正則過(guò)濾html標(biāo)簽、空格、換行符的代碼(附說(shuō)明)
- php HtmlReplace輸入過(guò)濾安全函數(shù)
- php下過(guò)濾html代碼的函數(shù) 提高程序安全性
- php 正則 過(guò)濾html 的超鏈接
- php完全過(guò)濾HTML,JS,CSS等標(biāo)簽
- PHP+Tidy-完美的XHTML糾錯(cuò)+過(guò)濾
- php實(shí)現(xiàn)過(guò)濾表單提交中html標(biāo)簽的方法
相關(guān)文章
PHP實(shí)現(xiàn)獲取兩個(gè)以逗號(hào)分割的字符串的并集
這篇文章主要為大家詳細(xì)介紹了PHP如何實(shí)現(xiàn)獲取兩個(gè)以逗號(hào)分割的字符串的并集,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04
php 獲取可變函數(shù)參數(shù)的函數(shù)
php取得可變函數(shù)參數(shù),方便后面的控制。2009-08-08
PHP實(shí)現(xiàn)將漢字轉(zhuǎn)換為拼音及獲取詞語(yǔ)首字母的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)將漢字轉(zhuǎn)換為拼音及獲取詞語(yǔ)首字母的方法,涉及php字符串、數(shù)組的遍歷及編碼轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
PHP 實(shí)現(xiàn)等比壓縮圖片尺寸和大小實(shí)例代碼
這篇文章主要介紹了PHP 實(shí)現(xiàn)等比壓縮圖片尺寸和大小實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10
PHP學(xué)習(xí)筆記 用戶注冊(cè)模塊用戶類以及驗(yàn)證碼類
最近正在學(xué)習(xí)《PHP&MySQL范例精解》,剛剛看到第一張,關(guān)于用戶注冊(cè)模塊的設(shè)計(jì),這本書(shū)提供了很多可重用類,便于用于其它項(xiàng)目中。2011-09-09
PHP如何使用XlsWriter實(shí)現(xiàn)百萬(wàn)級(jí)數(shù)據(jù)導(dǎo)入導(dǎo)出
這篇文章主要為大家詳細(xì)介紹了PHP如何使用XlsWriter實(shí)現(xiàn)百萬(wàn)級(jí)數(shù)據(jù)導(dǎo)入導(dǎo)出,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
php中使用explode查找某個(gè)字符是否存在的方法
為了使輸入方便,減少在裝修編輯模塊的時(shí)候出現(xiàn)太多的文字框,需要用到在一個(gè)框內(nèi)輸入兩三種不同內(nèi)容,然后再使用一些特殊字符來(lái)分隔開(kāi),用explode來(lái)建立一組數(shù)據(jù)的方法。2011-07-07
關(guān)于訪問(wèn)控制的一首PHP面試題(對(duì)屬性或方法的訪問(wèn)控制)
對(duì)屬性或方法的訪問(wèn)控制,是通過(guò)在前面添加關(guān)鍵字 public、protected 或 private 來(lái)實(shí)現(xiàn)的2012-09-09

