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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言生成随机数数组

    c语言实现获得从0~num-1的随机数组(数组元素不重复,内容是0~num-1),实现的原理是数组乱序,效率高!

    2022年4月7日
    54
  • 面试官:你说熟悉MySQL,那来谈谈InnoDB怎么解决幻读的?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:Aaron_涛 blog.csdn.net/qq_33330687/article/details/89004…

    2021年6月25日
    81
  • C++的三种单例模式—–深度解析

    C++的三种单例模式—–深度解析简介因为在设计或开发中,肯定会有这么一种情况,一个类只能有一个对象被创建,如果有多个对象的话,可能会导致状态的混乱和不一致。这种情况下,单例模式是最恰当的解决办法。它有很多种实现方式,各自的特性不相同,使用的情…

    2022年5月27日
    39
  • js正则 手机号_正则表达式 手机号

    js正则 手机号_正则表达式 手机号RegExp对象正则表达式是描述字符模式的对象。正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。//匹配手机号//varres=/^[1][3,4,5,6.7,8,9][0-9]{9}$///letnum=18045216903//console.log(res.test(num))//匹配身份证号码//varres=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)///varn=’5203

    2022年9月14日
    5
  • AV有马赛克吗_视频某个地方加马赛克

    AV有马赛克吗_视频某个地方加马赛克程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要2.8分钟。来自:网络,侵删近日一位43岁的岛国男性,利用AI技术去除18禁视频马赛克,到处贩售。在岛国舆论一片哗然…

    2022年9月28日
    5
  • springapplicationevent_Spring bean

    springapplicationevent_Spring bean相信使用过SpringBoot的开发人员,都对SpringBoot的核心模块中提供的SpringApplication类不陌生。SpringApplication类的run()方法往往在Spring应用的入口类中被调用,以启动Spring应用。1.Spring应用的入口类与SpringApplication类1)Spring应用的入口类Spring应用的入口类是Spring应用的配置起点,是配置Spring上下文的起点,往往使用了@SpringBootApplication或@EnableA

    2025年8月30日
    3

发表回复

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

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