用php過濾危險(xiǎn)html代碼的函數(shù)
更新時(shí)間:2008年07月22日 00:29:54 作者:
用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+/", //過濾多余的空白
"/<(\\/?)(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>", //如果要直接清除不安全的標(biāo)簽,這里可以留空
"\\\\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>", //如果要直接清除不安全的標(biāo)簽,這里可以留空
"\\\\1\\\\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
您可能感興趣的文章:
- php下過濾HTML代碼的函數(shù)
- php下過濾html代碼的函數(shù) 提高程序安全性
- php HtmlReplace輸入過濾安全函數(shù)
- php 安全過濾函數(shù)代碼
- 比較好用的PHP防注入漏洞過濾函數(shù)代碼
- 幾個(gè)有用的php字符串過濾,轉(zhuǎn)換函數(shù)代碼
- PHP字符過濾函數(shù)去除字符串最后一個(gè)逗號(hào)(rtrim)
- php過濾XSS攻擊的函數(shù)
- php中使用array_filter()函數(shù)過濾空數(shù)組的實(shí)現(xiàn)代碼
- php常用的安全過濾函數(shù)集錦
- PHP中字符安全過濾函數(shù)使用小結(jié)
相關(guān)文章
php源碼分析之DZX1.5隨機(jī)數(shù)函數(shù)random用法
這篇文章主要介紹了php源碼分析之DZX1.5隨機(jī)數(shù)函數(shù)random用法,實(shí)例分析了DZX1.5中random函數(shù)生成隨機(jī)字符串的使用技巧,需要的朋友可以參考下2015-06-06
利用PHP擴(kuò)展vld查看PHP opcode操作步驟
首先下載最新版vld擴(kuò)展接下來編譯安裝vld擴(kuò)展最后將生成的vld.so復(fù)制到extension_dir目錄下然后修改php.ini文件接下來創(chuàng)建test.php文件,感興趣的你可以參考下本文2013-03-03
php抽象類使用要點(diǎn)與注意事項(xiàng)分析
這篇文章主要介紹了php抽象類使用要點(diǎn)與注意事項(xiàng),實(shí)例分析了php抽象類的功能、定義與使用中的相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-02-02
php通過baihui網(wǎng)API實(shí)現(xiàn)讀取word文檔并展示
這篇文章主要介紹了php通過baihui網(wǎng)API實(shí)現(xiàn)讀取word文檔并展示的相關(guān)資料,需要的朋友可以參考下2015-06-06
淺談并發(fā)處理PHP進(jìn)程間通信之System V IPC
對(duì)于進(jìn)程間通信,每一個(gè)完備的語言都應(yīng)該有對(duì)應(yīng)的處理方式,而 PHP 對(duì)應(yīng)的則是一族對(duì) UNIX SYSTEM V包裝的函數(shù),包括信號(hào)量(semaphore)、共享內(nèi)存(shared memory)和消息隊(duì)列(msg queue)的操作。2021-05-05
php的curl實(shí)現(xiàn)get和post的代碼
類似于dreamhost這類主機(jī)服務(wù)商,是顯示fopen的使用的。使用php的curl可以實(shí)現(xiàn)支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。2008-08-08
編譯php 5.2.14+fpm+memcached(具體操作詳解)
本篇文章是對(duì)編譯php5.2.14+fpm+memcached的具體操作進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

