`
amcucn
  • 浏览: 293775 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Java匹配过滤<script>标签,不区分大小写

阅读更多

为了过滤一些内容当中包含有JS代码,因此加了对字符的过滤设置。刚开始并没有想到会有大小写的问题。

如果用户直接输入<script>JS代码</script>这样是可以进行过滤,但没考虑到如果用户输入的是大写标签或即有大写也有小小写的标签。

最开始想到一种比较笨的方法就是一一列举,然后一一匹配。着实太笨!

 

翻看API,发现原来JAVA已自带有这方面的方法。汗颜!!!

代码如下:

 /**
     * 对字符串当中的JS代码 进行过滤,全部替换为"非法字符"
     *
     * @param str 要过滤的字符串
     * @return 过滤后的字符串
     */
    public static String doFilter(String str) {
       str = Pattern.compile("<script.*?>.*?</script>", Pattern.CASE_INSENSITIVE).matcher(str).replaceAll("****");
        return str;
    }
 
0
0
分享到:
评论
2 楼 searchnomore 2013-11-19  
不管用
1 楼 iwlk 2013-08-15  
String str = "11<script>\r\nalert(123)\r\n</script>22";

以上代码就不管用了~  

相关推荐

    比较两个string(不区分大小写)

    本文将详细介绍如何在不同的编程语言中进行不区分大小写的字符串比较。 首先,让我们看看在一些主要编程语言中的实现方式: 1. **Java**: 在Java中,`String`类提供了`equalsIgnoreCase()`方法,可以进行大小写...

    去除html代码里面的script正则方法

    i)`是正则表达式的标志,表示接下来的匹配应该是不区分大小写的。`&lt;SCRIPT&gt;`和`&lt;/SCRIPT&gt;`分别代表`&lt;script&gt;`标签的开始和结束。`[\\s\\S]*?`这部分匹配任何数量的任意字符(包括换行符),`?`表示非贪婪匹配,即尽...

    Java课程设计(代码+清单)

    ReadTestquestion&lt;br&gt;7.5. 课程设计作业&lt;br&gt;第8章 日历记事本&lt;br&gt;8.1. 设计内容&lt;br&gt;8.2. 设计要求&lt;br&gt;8.3. 总体设计&lt;br&gt;8.4. 具体设计&lt;br&gt;8.4.1. 运行效果与程序发布&lt;br&gt;8.4.2. 主类CalendarPad&lt;br&gt;8.4.3. 记事本...

    Java实现的分页工具类

    本篇文章将详细探讨如何使用Java实现一个分页工具类,以及在实际应用中如何运用这个工具。 首先,分页的基本概念是通过指定每页显示的数据量(每页记录数,即pageSize)和当前页数(pageNumber),从数据库中获取...

    Java 中 过滤Html标签

    使用这个正则表达式,我们可以使用Java的Pattern和Matcher类来删除script标签。 同样,我们可以定义style标签和html标签的正则表达式,分别如下: `String regEx_style = "&lt;[//s]*?style[^&gt;]*?&gt;[//s//S]*?&lt;[//s]*?...

    基于JSP新闻发布系统

    其它小型社区&lt;br&gt;&lt;br&gt;软件产品介质:&lt;br&gt;1.xwfb.rar &lt;br&gt;2.xwfbclass.rar &lt;br&gt;3.xwfblib.rar&lt;br&gt;4.Web版新闻发布管理系统使用手册.doc &lt;br&gt;5.web.xml server.xml &lt;br&gt;&lt;br&gt;需要者请联系:&lt;br&gt;&lt;br&gt;e_mail:fzlotuscn@...

    北大青鸟第一学期4.0 S1所有资料一

    我已经把第一学期所有的课件打包在一起了,一共有5部分,这是第一部分&lt;br&gt;&lt;br&gt;大家载时要记得评分,这样你们就不要资源分了&lt;br&gt;&lt;br&gt;C语言&lt;br&gt;&lt;br&gt;HTML && JavaScript 电子档课件ppt.rar&lt;br&gt;&lt;br&gt;java&&OOP &lt;br&gt;&lt;br&gt;SQL...

    Android里List时间升序排序

    接下来,我们可以使用这个自定义的比较器来对`List&lt;String&gt;`进行排序: ```java List&lt;String&gt; dates = ...; // 初始化日期字符串列表 Collections.sort(dates, new DateComparator()); ``` 这样,`dates`列表就会...

    java代码-正则去除HTML代码中的IMG标签

    `Pattern.CASE_INSENSITIVE`使匹配不区分大小写。 现在,我们可以创建一个简单的主程序来测试这个方法: ```java public static void main(String[] args) { String html = "&lt;html&gt;&lt;body&gt;&lt;h1&gt;标题&lt;/h1&gt;&lt;img src='...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    marshaller.marshal(new JAXBElement&lt;&gt;(new QName("people"), ArrayList.class, list), writer); return writer.toString(); } ``` 接下来,我们讨论如何将XML字符串转换为`Map`和`List`。这里,通常会使用`DOM`...

    HTML、JavaScript与Java三合一培训教程.

    - `&lt;Hi&gt;`标签(i=1,2,3,4,5,6):定义标题级别,数字越大,字体越小。 - `&lt;P&gt;`标签:定义段落。 - `&lt;HR&gt;`标签:插入水平线。 - `&lt;PRE&gt;`标签:定义预格式化文本,保留空格和换行。 - 字符格式标签:如`...

    Java Web 标签大全(完全离线版)

    此资源中去除了源码中的`&lt;object&gt;`标签,可能是因为`&lt;object&gt;`在Java Web开发中通常用于嵌入多媒体内容,与主要的Web开发标签相比,其使用频率相对较低。 首先,我们来看HTML标签。HTML(超文本标记语言)是网页的...

    设计模式资料汇总

    .pdf&lt;br&gt;JAVA设计模式.chm&lt;br&gt;软件设计的七大原则.doc&lt;br&gt;设计之道.pdf&lt;br&gt;C#设计模式分析.doc&lt;br&gt;C#设计模式-微软.rar&lt;br&gt;从追MM谈Java的23种设计模式.txt&lt;br&gt;什么是OO思想.txt&lt;br&gt;探寻软件的永恒之道.txt&lt;br&gt;你还...

    C/S结构的java聊天室源代码

    &lt;br&gt;&lt;br&gt;2、服务器特点:1)实现GUI界面,可选择端口运行或关闭服务器,可设置最大连接数&lt;br&gt;&lt;br&gt; 2)在GUI记录运行日志,同时日志被保存在log文件中&lt;br&gt;&lt;br&gt; 3)显示在线用户,可以强制任意用户下线&lt;br&gt;&lt;br&gt; 4)可...

    软件开发过程文档

    &lt;br&gt;测试用例编写规范.doc&lt;br&gt;概要设计说明书编写规范.doc&lt;br&gt;计算机源代码编写规范.doc&lt;br&gt;开发大纲.doc&lt;br&gt;配置管理规范.doc&lt;br&gt;配置管理计划...doc&lt;br&gt;JAVA编码规约.doc&lt;br&gt;VC编码规约.doc&lt;br&gt;具体语言的编程规范.rar

    讨论区BBS网站

    &lt;br&gt; 本系统采用JSP+Servlet+Java bean模式开发,将界面表现与业务逻辑处理分开,体现了MVC(Model——View-Controller)&lt;br&gt;的思想,通过JSP技术来表现页面,通过Servlet技术来完成大量的事物处理工作,Servlet创建...

    js脚本攻击大全

    例如,使用大小写混合的方式来编写`&lt;img&gt;`标签和`javascript:`协议头。 ##### 5. HTML编码(必须有分号) ```html &lt;IMG SRC=javascript:alert("XSS")&gt; ``` 这里使用了HTML实体编码来绕过一些简单的过滤器,例如将单...

    《软件测试方法和技术》电子课件之四

    前 言&lt;br&gt;&lt;br&gt;第一篇 软件测试的原理 &lt;br&gt; 第1章 软件及其开发过程 &lt;br&gt; 第2章 软件测试的基本概念和方法 &lt;br&gt; 第3章 质量保证与测试策略&lt;br&gt; 第4章 软件测试依据和规范 &lt;br&gt;&lt;br&gt;第二篇 软件测试的技术 &lt;br&gt; 第5...

    Json转对象忽略大小写

    在这个类中,开发者可能定义了一个方法,如`jsonToBean忽略大小写(String jsonString, Class&lt;T&gt; clazz)`,该方法接受一个JSON字符串和目标Java对象的Class类型,然后进行转换。 在Java中,使用Gson库进行JSON处理时...

    mysql+连接池+JavaBean实现用户注册登陆系统

    INF\classes\MD5.java&lt;br&gt;D:\web\WebRoot\WEB-INF\classes\Product.java&lt;br&gt;D:\web\WebRoot\WEB-INF\classes\SqlFactory.java&lt;br&gt;D:\web\WebRoot\WEB-INF\classes\SqlProduct.java&lt;br&gt;D:\web\WebRoot\WEB-INF\...

Global site tag (gtag.js) - Google Analytics