`

java屏蔽非法字符

    博客分类:
  • java
阅读更多
<div class="iteye-blog-content-contain" style="font-size: 14px;">
<p> </p>
<pre name="code" class="java">package com.bingyang.model;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class WordFilter implements Filter
{
private List&lt;String&gt; unString;
/**
* 过滤器初始化,将要屏蔽的字符串都加载到list集合中.
*/
public void init(FilterConfig filterConfig) throws ServletException
{
    unString = new ArrayList&lt;String&gt;();
    String aa="日,tmd,TMD,滚蛋,系统";
    StringTokenizer st = new StringTokenizer(aa, ",");
    while(st.hasMoreElements()){
    unString.add(st.nextElement().toString());
    }
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
    throws IOException, ServletException
{
request.setCharacterEncoding("utf-8");
    String content = request.getParameter("content");//需要过滤的参数
    if(content!=null){
        for (int i = 0; i < unString.size(); i++)
        {
            String strIllegal = unString.get(i);
            if (content.indexOf(strIllegal) >= 0)
            {
                content = content.replaceAll(strIllegal, "*");//非法字符替换成*
            }
            request.setAttribute("content", content);//为request设置属性保存修改后的值
        }
    }
    chain.doFilter(request, response);
}
public void destroy()
{
    //System.out.println("过滤器销毁");
}
}
</pre>
<p> </p>
</div>
分享到:
评论

相关推荐

    java 请求参数过滤拦截

    可以使用预编译的PreparedStatement来防止SQL注入,或者使用正则表达式检查并替换非法字符。 2. **XSS(Cross-Site Scripting)防御**:对所有输出到页面的用户输入进行转义,确保不会执行任何JavaScript代码。可以...

    DFA算法敏感庞屏蔽java实现

    **DFA算法敏感词屏蔽Java实现** 在信息技术领域,数据安全和内容审查是至关重要的环节。其中,敏感词过滤是一项常见的需求,它主要用于防止非法或不适当内容的传播。DFA(Deterministic Finite Automaton,确定有限...

    java。dfa算法实现敏感词过滤

    它主要用于屏蔽或替换网络中的不当、非法或敏感词汇,确保信息的合规性和安全性。本篇将重点介绍如何使用Java实现基于DFA(Deterministic Finite Automaton,确定有限状态自动机)算法的敏感词过滤。 首先,DFA算法...

    java过滤器

    在这个场景中,我们将讨论如何使用Java过滤器进行登录验证和屏蔽非法文字。 1. **登录验证过滤器**: 在Web应用程序中,通常需要确保只有已认证的用户才能访问某些资源。登录验证过滤器就是为此目的而设计的。在...

    java数据脱敏平台后端项目.zip

    2. 脱敏算法实现:这部分代码实现了不同的数据脱敏策略,例如替换敏感字段为随机值、掩码特定字符、使用固定模式替换等。对于日期、电话号码、身份证号等特殊类型的数据,可能需要定制化的脱敏规则。 3. 数据处理与...

    WM算法实现_敏感词过滤

    7. **错误处理和边界情况**:考虑文本为空、敏感词库为空或非法字符等情况,确保算法的健壮性。 8. **性能优化**:根据实际需求,可能需要考虑多线程处理大量文本,或者使用缓存策略来提升敏感词过滤的速度。 在这...

    java面试笔试题大全.doc

    **定义**:抽象是在设计阶段的一个重要的概念,指的是从复杂的事物中提取出共同的、本质的特性,并屏蔽掉那些非本质的细节。 **作用**:在软件开发中,抽象能够帮助开发者关注于系统的主要功能和结构,而不是具体的...

    脏字过滤部分,可以运行,如不会数据库直接把数据库的内容删了

    这些词汇库可能包括常见的脏话、侮辱性词汇或非法内容。在程序运行时,它会与数据库进行比对,找出匹配的脏字。描述中提到“如果不会数据库,可以直接删除数据库内容”,这意味着该程序可能有一个预设的数据库文件,...

    JSP聊天程序

    例如,可以使用Filter实现用户登录验证,对非法请求进行拦截,或者对发送的数据进行加密处理,提高安全性。 **四、中文处理** 在JSP中处理中文字符是一项常见的挑战,因为不同的字符集可能导致乱码问题。在JSP聊天...

    敏感词汇过滤

    "敏感词汇过滤"是一种常见的技术手段,主要用于防止不适当、攻击性或非法内容的出现。在Java编程环境中,我们可以构建这样的系统来实现这一目标。下面将详细介绍这个主题,并结合给定的文件名“敏感词汇过滤”进行...

    使用DFA算法实现的内容安全反垃圾智能鉴黄敏感词过滤

    为了达到这一目标,开发者经常使用各种技术手段来过滤和屏蔽不适当或非法的内容,其中“智能鉴黄”和“敏感词过滤”是常见的方式。本项目利用了DFA(Deterministic Finite Automaton,确定有限状态自动机)算法来...

    ToolGood.Words:一个完整​​的高级敏感词(非法词脏字)检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能

    工具好词一个简单的高级非法词(敏感词)检测组件,附带繁体简体互换,支持全角半角互换,获取拼音首字母,获取拼音字母,拼音模糊搜索等功能。 C#语言,使用StringSearchEx2.Replace过滤,在48k敏感词库上的过滤...

    Day29Example.rar

    在这个案例中,前端可能已经进行了基本的非法字符检查,而Filter则在后端进行更严格的敏感词过滤,这种前后端的配合可以提供多层防线,增加系统的安全性。 6. **性能优化**: 使用Filter和代理模式可以有效地减少...

    基于J2EE应用的SQL注入分析与防范.pdf

    SQL注入是一种常见的网络攻击技术,攻击者通过在Web应用程序的输入字段中插入恶意的SQL代码片段,以此来干扰SQL语句的正常执行流程,进而实现对后端数据库的非法操作。基于J2EE应用的SQL注入分析与防范是一个重要的...

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    1、修复了非法请求资源 2、修复了jsp脚本在一些特殊条件下会产生一个以上的实例,造成脚本执行不同步 3、修复了jsp脚本下次执行时间错误 4、修复了上传附件数组越界,附件来路检查无效,附件下载付费功能无效,...

    JspRun!社区论坛系统 v6.0 bulid 090424 GBK 安装版.rar

    1、修复了非法请求资源 2、修复了jsp脚本在一些特殊条件下会产生一个以上的实例,造成脚本执行不同步 3、修复了jsp脚本下次执行时间错误 4、修复了上传附件数组越界,附件来路检查无效,附件下载付费功能无效,...

    js表单验证大全,很全很方便

    alert("包含非法关键词,请重新输入!"); a.b.focus(); return false; } } ()"&gt; ``` ### 8. 两次输入密码是否相同 为了确保用户输入的两次密码一致,可以在表单提交前进行比较。 **代码示例**: ```...

    在b/s开发中经常用到的javaScript技术

    6.3 java+sql或者java+sql+xml 7、无边框效果的制作 8、连动下拉框技术 9、文本排序 一、验证类 1、数字验证内 1.1 整数 /^(-|\+)?\d+$/.test(str) 1.2 大于0的整数 (用于传来的ID的验证) /^\d+$/.test(str)...

    计算机专业词汇翻译

    在Java编程环境中,applet是一种小型的应用程序,可以在Web页面中运行,为用户提供交互式的体验。 #### Asynchronous communications port(异步通信端口) 异步通信端口允许设备之间在没有同步时钟的情况下进行...

    易语言程序免安装版下载

    易语言5.1 相对于易语言5.0更新说明: ... 修改XML解析支持库,增加写出CDATA数据功能,解决解析XML时错误的丢弃换行和TAB字符的BUG,解决读取节点值时对CDATA数据进行转义处理的BUG。 20. 修改扩展界面支持库...

Global site tag (gtag.js) - Google Analytics