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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • aliddns ipv6_linux系统下配置阿里DDNS(IPv6)

    aliddns ipv6_linux系统下配置阿里DDNS(IPv6)IPv6日渐完善,家里的宽带和手机也都分配了ipv6全球单播地址,手机分到了/64,宽带更是分到了/56。测试了一下运营商内外的连通性也都还可以,基本能跑满带宽,IPv6终于可以用起来了,个个都是公网,不用再渴求ipv4和搞内网穿透了。适用此教程适用于基于linux的各种系统,ubuntu、centos、openwrt、群晖等等,本文只介绍IPv6,不涉及IPv4。代码aliddnsipv6_a…

    2022年6月12日
    111
  • StringUtils里的isEmpty方法和isBlank方法的区别

    StringUtils里的isEmpty方法和isBlank方法的区别前言我们常说的字符串为空,其实就是一个没有字符的空数组。比如:Stringa=””;a就可以称为是一个空字符串。由于String在Java中底层是通过char数组去存储字符串的,所以空字符串对应的char数组表现形式为privatefinalcharvalue[]=newchar[0];但实际工作中,我们可以需要对字符串进行一些校验,比…

    2022年4月30日
    54
  • 【pymongo】连接认证 auth failed解决方法

    【pymongo】连接认证 auth failed解决方法故事背景:我在虚拟机(ip:192.168.xx.xx)上建立了一个mongo的数据库,里面已经存好了内容。里面的一个database叫做"adb",里面有个collectio

    2022年7月4日
    31
  • partial conflict_conditional tense

    partial conflict_conditional tenseTableofContents定制FilterCell1.引言1.1.定制Droplist过滤器Cell示例定制FilterRowsCallback1.引言1.1.定制FilterRowsCallback示例Form指南1.引言1.1.JSP1.1.1.Form特性的技术说明1.1.2.Checkbox1.1.3.CustomCell1.1.4.

    2022年8月20日
    9
  • 更改pip源至国内镜像,显著提升下载速度

    更改pip源至国内镜像,显著提升下载速度经常在使用python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。网上有很多可用的源,例如豆瓣:http://pypi.douban.com/simple/                     清华

    2022年6月4日
    54
  • Android接入穿山甲SDK并实现开屏广告 接入

    Android接入穿山甲SDK并实现开屏广告 接入

    2021年10月2日
    139

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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