`
- 浏览:
215953 次
- 性别:
- 来自:
北京
-
<?php
/**
*过滤在线编辑器产生的不安全html代码.
*
*PHPversions4and5
*
*@copyright版权所无,任意传播.
*@linkhttp://www.52sunny.net
*@namehtml过滤
*@versionv0.0.10
*@authorLucklrj(sunny_lrj@yeah.net,qq:7691272)
*@lastmodified2006-06-0910:42(Tue,2006-06-09)
*@notice此版本只过滤js,框架,表单。
作者能力有限,使用本程序若产生任何安全问题,与本人无关。
欢迎来信与我交流。
*/
$str="<tr><tdbgcolor='#FFFFFF'>
<divstyle='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","</1>/2</3>",$str);//替换为可以显示的,
$str=preg_replace("/<(script.*?)>/si","",$str);//删除<script>未封闭
//$str=preg_replace("/<(script.*?)>/si","</1>",$str);//替换未封闭
/*删除/替换表单*/
$str=preg_replace("/<(/?form.*?)>/si","",$str);//删除表单
//$str=preg_replace("/<(/?form.*?)>/si","</1>",$str);//替换表单
$str=preg_replace("/<(i?frame.*?)>(.*?)<(/i?frame.*?)>/si","",$str);//删除框架
//$str=preg_replace("/<(i?frame.*?)>(.*?)<(/i?frame.*?)>/si","</1>/2</3>",$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("&","&",$str);
echo$str;
?>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
现在的编辑器一般主要分为2种,1种是非所见所得的UBB编辑器,1种是所见即所得的HTML编辑器,非所见所得的UBB编辑器虽然在编辑时不方便直接看到效果,但以其安全的特性依然在很多系统中广泛使用,而HTML编辑器虽然...
精简迷你 编辑器初始加载4个文件,包括:1个js(50k)+2个css(10k)+1个图片(5k),总共65k。若js和css文件进行gzip...提供完美的UBB可视化编辑器解决方案,在您获得安全高效代码存储的同时,又能享受可视化编辑的便捷。
Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大,像表格可以直接拖动调整单元格大小等。 更新历史 [2014-7-8] Ver:1.8.143 Fix:当admin使用inlines生成多实例时widget命名不正确的问题 [2014-6-27...
18. 编辑器................................185 18.1 选择功能.............185 18.2 列选择.185 18.3 指引线.186 18.4 代码助手.............186 18.5 重新调用语句.........187 18.6 专用复制.............188 ...
2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作..... 21 2.2.2 了解Eclipse用户界面..... 22 ...
学习pl/sql的好资料 目录 目录..........................................................................................................................8.7 队列定义编辑器......................................
除了一般html编辑器具有的功能外,还有word过滤、图片在线处理、加水印等实用功能 使用关键步骤: 1、引用bin下的cuteEditor文件 2、在aspx页面顶部中添加引用 3、在aspx页面中加入...
使用ubb编辑器安全性能比普通的编辑器高。
目录 目录.....................................................................................................................................8.7 队列定义编辑器..............................................
pl/sql 7.1操作手册,中文,总共239页 目录 目录................................................................................................................8.7 队列定义编辑器...............................
PL/SQL Developer 7.0 用户指南 目录 1.介绍.................................................9 2. 安装.....................................................................8.12 数据库连接定义编辑器............
8.11 概要文件定义编辑器 ...........71 8.12 数据库连接定义编辑器 .........71 9. 图表...72 9.1 创建图表 .........72 9.2 保存和打开图表文件 ...........75 9.3 更新图表 .........75 10. 报告...76 10.1 标准...
2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作..... 21 2.2.2 了解Eclipse用户界面...
2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作..... 21 2.2.2 了解Eclipse用户界面...
PLSQL_Developer_9.0用户指南, 目录 3 1. 介绍 .............................................................................................9.1 表定义编辑器 ...................................................
由于Quill编辑器自带的富文本过滤(大部分主流编辑器都会对富文本进行过滤处理),导致开发者想要配置自定义HTML模板时,遇到了不少麻烦。 一、Quill渲染逻辑分析 为了自定义Quill中的HTML块内容,首先需要了解Quill...
现在的编辑器一般主要分为2种,1种是非所见所得的UBB编辑器,1种是所见即所得的HTML编辑器,非所见所得的UBB编辑器虽然在编辑时不方便直接看到效果,但以其安全的特性依然在很多系统中广泛使用,而HTML编辑器虽然...
162100editor(Html编辑器)3.7版说明: 1、增加了二种编辑器初始模式:简洁版和完整版。 2、自由拉伸编辑器,变化编辑器大小。 3、其它大幅度的更新完善。 【简介】 真正的迷你HTML编辑器,只一个JS文件...
Editor.md 是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建.支持通用 Markdown / CommonMark 和 GFM (GitHub Flavored Markdown) 风格的语法,也可变身为代码编辑器;...