Asp中去除脚本代码

Asp中去除脚本代码

 
‘================================================

‘ 显示解释函数,返回根据参数允许显示的格式字符串,具体调用方法可从后台管理获得

‘ 输入参数:

‘ s_Content : 要转换的数据字符串

‘ s_Filters : 要过滤掉的格式集,用逗号分隔多个

‘================================================

Function eWebEditor_DeCode(s_Content, sFilters)

 Dim a_Filter, i, s_Result, s_Filters

 eWebEditor_Decode = s_Content

 If IsNull(s_Content) Then Exit Function

 If s_Content = “” Then Exit Function

 s_Result = s_Content

 s_Filters = sFilters
 ‘ 设置默认过滤

 If sFilters = “” Then s_Filters = “script,object”
 a_Filter = Split(s_Filters, “,”)

 For i = 0 To UBound(a_Filter)

  s_Result = eWebEditor_DecodeFilter(s_Result, a_Filter(i))

 Next

 eWebEditor_DeCode = s_Result

End Function
%>
<Script Language=JavaScript RunAt=Server>

//===============================================

// 单个过滤

// 输入参数:

// s_Content : 要转换的数据字符串

// s_Filter : 要过滤掉的单个格式

//===============================================

function eWebEditor_DecodeFilter(html, filter){

 switch(filter.toUpperCase()){

 case “SCRIPT”:  // 去除所有客户端脚本javascipt,vbscript,jscript,js,vbs,event,…

  html = eWebEditor_execRE(“</?script[^>]*>”, “”, html);

  html = eWebEditor_execRE(“(javascript|jscript|vbscript|vbs):”, “$1:”, html);

  html = eWebEditor_execRE(“on(mouse|exit|error|click|key)”, “<I>on$1</I>”, html);

  html = eWebEditor_execRE(“&#”, “<I>&#</I>”, html);

  break;

 case “TABLE”:  // 去除表格<table><tr><td><th>

  html = eWebEditor_execRE(“</?table[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?tr[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?th[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?td[^>]*>”, “”, html);

  break;

 case “CLASS”:  // 去除样式类class=””

  html = eWebEditor_execRE(“(<[^>]+) class=[^ |^>]*([^>]*>)”, “$1 $2”, html) ;

  break;

 case “STYLE”:  // 去除样式style=””

  html = eWebEditor_execRE(“(<[^>]+) style=\”[^\”]*\”([^>]*>)”, “$1 $2”, html);

  break;

 case “XML”:   // 去除XML<?xml>

  html = eWebEditor_execRE(“< \\?xml[^>]*>”, “”, html);

  break;

 case “NAMESPACE”: // 去除命名空间<o:p></o:p>

  html = eWebEditor_execRE(“<\/?[a-z]+:[^>]*>”, “”, html);

  break;

 case “FONT”:  // 去除字体<font></font>

  html = eWebEditor_execRE(“</?font[^>]*>”, “”, html);

  break;

 case “MARQUEE”:  // 去除字幕<marquee></marquee>

  html = eWebEditor_execRE(“</?marquee[^>]*>”, “”, html);

  break;

 case “OBJECT”:  // 去除对象<object><param><embed></object>

  html = eWebEditor_execRE(“</?object[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?param[^>]*>”, “”, html);

  html = eWebEditor_execRE(“</?embed[^>]*>”, “”, html);

  break;

 default:

 }

 return html;

}
// ============================================

// 执行正则表达式替换

// ============================================

function eWebEditor_execRE(re, rp, content) {

 oReg = new RegExp(re, “ig”);

 r = content.replace(oReg, rp);

 return r;

}
</Script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111124.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java实现数据库读写分离「建议收藏」

    java读写分离的实现1.背景我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库;那么,对我们的要求是:1、读库和写库的数据一致;(这个是很重要的一个问题,处理业务逻辑要放在service层去处理,不要…

  • 分类模型评估之ROC-AUC曲线和PRC曲线

    分类模型评估之ROC-AUC曲线和PRC曲线http://blog.csdn.net/pipisorry/article/details/51788927ROC曲线和AUCROC(ReceiverOperatingCharacteristic,接受者工作特征曲线)曲线和AUC常被用来评价一个二值分类器(binaryclassifier)的优劣。博文介绍ROC和AUC的特点,讨论如何作出ROC曲线图以及计算AUC。AUC是现…

  • HTML登录界面的实现详解

    HTML登录界面的实现详解前言序锦前阵子参加学校的暑期实习,我作为项目负责人,除了进行统筹规划,整体运营以及进度安排等工作外呢,我还负责了前端模块,参与并编写了前端页面,在之前学过前端的基础上,本次参与前端的编写就比较容易了,我和另外一个伙伴我们选择了套用模板,在模板的基础上修改成我们想要的样子,这一点很重要,在这样一个很短的时间内,进行前端的编写,我们最好的选择就是进行模板的修改,但对于初学者来说,就算是…

  • 报文学习四(LLDP协议)「建议收藏」

    报文学习四(LLDP协议)「建议收藏」1.LLDP出现的原因随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)就是用于这个目的的协议。当一个设备从网络中接收到其它设备的这些信息时,它就将…

  • DruidDataSource配置属性列表

    DruidDataSource配置属性列表

  • JVM 优化实战[通俗易懂]

    JVM 优化实战[通俗易懂]本文讲解了JVM的内存划分和分配策略,并以截图和脚本展示常用可视化和命令行工具的使用方法,完整演示了JVM优化、内存泄露排查、gc.log分析方法等。作者:王克锋 出处:https://kefeng.wang/2016/11/22/java-jvm/ 版权:自由转载-非商用-非衍生-保持署名,转载请标明作者和出处。1GC相关内存1.1内存划分1.1.1堆(Heap)存放 newM…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号