国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP技巧:過濾在線編輯器產生的不安全html代碼

2024-05-04 21:52:42
字體:
來源:轉載
供稿:網友
<?php
/**
* 過濾在線編輯器產生的不安全html代碼.
*
* PHP versions 4 and 5
*
* @copyright 版權所無,任意傳播.
* @link http://www.52sunny.net
* @name html過濾
* @version v 0.0.10
* @author Lucklrj (sunny_lrj@yeah.net,qq:7691272)
* @lastmodified 2006-06-09 10:42 (Tue, 2006-06-09)
* @notice 此版本只過濾js,框架,表單。
作者能力有限,使用本程序若產生任何安全問題,與本人無關。
歡迎來信與我交流。
*/  str="<tr><td bgcolor='#FFFFFF'>
<div style='url(123.offsetWidth)>";
//str="url(javascript:x)";

/*不需要過濾的數組*/
htm_on=array(
"<acronym","acronym>",
"<baseFont","baseFont>",
"<button","button>",
"<caption","caption>",
"<clientInformation","clientInformation>",
"<font","font>",
"<implementation","implementation>",
"<button","button>",
"<location","location>",
"<option","option>",
"<selection","selection>",
"<strong","strong>");

htm_on_uper=array(
"<ACRONYM","ACRONYM>",
"<BASEFONT","BASEFONT>",
"<BUTTON","BUTTON>",
"<CAPTION","CAPTION>",
"<CLIENTINFORMATION","CLIENTINFORMATION>",
"<FONT","FONT>",
"<IMPLEMENTATION","IMPLEMENTATION>",
"<BUTTON","BUTTON>",
"<LOCATION","LOCATION>",
"<OPTION","OPTION>",
"<SELECTION","SELECTION>",
"<STRONG","STRONG>");

/*字符格式*/
str=strtolower(str);
str=preg_replace("/s+/", " ", str);//過濾回車
str=preg_replace("/ +/", " ", str);//過濾多個空格

/*過濾/替換幾種形式的js*/
str=preg_replace("/<(script.*?)>(.*?)<(/script.*?)>/si","",str);//刪除<script>。。。</script>格式,
//str=preg_replace("/<(script.*?)>(.*?)<(/script.*?)>/si","&lt;/1&gt;/2&lt;/3&gt;",str);//替換為可以顯示的,

str=preg_replace("/<(script.*?)>/si","",str);//刪除<script>未封閉
//str=preg_replace("/<(script.*?)>/si","&lt;/1&gt;",str);//替換未封閉

/*刪除/替換表單*/
str=preg_replace("/<(/?form.*?)>/si","",str);//刪除表單
//str=preg_replace("/<(/?form.*?)>/si","&lt;/1&gt;",str);//替換表單

str=preg_replace("/<(i?frame.*?)>(.*?)<(/i?frame.*?)>/si","",str);//刪除框架
//str=preg_replace("/<(i?frame.*?)>(.*?)<(/i?frame.*?)>/si","&lt;/1&gt;/2&lt;/3&gt;",str);//替換框架

/*過濾on事件*/
str=preg_replace("/href=(.+?)(["|'| |>])/ie","'href='.strtoupper('/1').'/2'",str);//把href=涉及到的on轉換為大寫。
str=str_replace(htm_on,htm_on_uper,str);//把<font,font>換為大寫,dhtml標簽字符,正則判斷太煩瑣,采用轉換辦法。
str=preg_replace("/(on[^ .<>]+?)([ |>])/s","/2",str);//取掉on事件

/*過濾超級連接的js*/
str=preg_replace("/(href|src|background|url|dynsrc|expression|codebase)[=:(]([ "']*?w+..*?|javascript|vbscript:[^>]*?)()?)([ >/])/si","/1='#' /3/4",str);//取掉href=javascript:

//返回小寫字符
str=strtolower(str);
str=str_replace("&","&#x26;",str);
echo str;
?>
 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通化市| 昌黎县| 华宁县| 土默特左旗| 龙井市| 遂平县| 宣恩县| 天柱县| 米林县| 金湖县| 玉溪市| 高阳县| 衡水市| 寻甸| 神木县| 班戈县| 股票| 丘北县| 龙川县| 福海县| 江山市| 聂拉木县| 海安县| 太康县| 福泉市| 黄平县| 错那县| 新安县| 海丰县| 长汀县| 嘉兴市| 台州市| 娱乐| 延长县| 平遥县| 高陵县| 淳化县| 丹巴县| 新竹县| 米脂县| 南溪县|