`
勤业思行
  • 浏览: 84124 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

非法文字过滤器

阅读更多

非法文字过滤器指对页面提交的内容中包含服务器不期望包含的信息(一般表现为字符)。服务器将不接受其提交的信息,并进行相应的非法输入信息提示。如论坛中的防灌水、垃圾回复或者不良信息等。


一、非法文字过滤器的实现:

下面以一个页面提交信息:发言页面的发言信息进行过滤。如非法信息定义为“晕”。相应的处理流程为:

 

 

该范例中包含了5个文件:发言页面charForm.jsp、非法文字过滤器charFilter.java、发言成功页面showContent.jsp、发言失败页面sendFailure.jsp和web.xml.

1、发言页面charForm.jsp

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
	<title>用户表单</title>
</head>
<body>
	<%--表单,提交方式为post-,提交到DoGetDemo--%>
	<form action="ShowContent.jsp" method="post">
		用户名:<input type="text" name="username"/><br>
		发言:<br>
		<textarea name="charContent" rows="20" cols="40"></textarea><br>
		<input type="submit" value="发送"/>
		<input type="reset" value="重置"/>&nbsp;
	</form>
</body>
</html>

 

发言内容为文本域charContent的值。将发言提交到ShowContent.jsp。

 

2、非法文字过滤器charFilter.java

package Filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CharFilter implements Filter{
	//初始化方法
	public void init(FilterConfig filterConfig) throws ServletException {
		System.out.println("非法文字过滤器初始化");
	}
	//过滤方法
	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest)req;
		//设置参数编码格式
		request.setCharacterEncoding("gb2312");
		//接受聊天内容
		String charContent = request.getParameter("charContent");
		if(charContent != null) {
			if(charContent.indexOf("晕")== -1) {
				chain.doFilter(req, res);
			} else {
				request.getRequestDispatcher("SendFailure.jsp").forward(req, res);
			}
		} else {
			chain.doFilter(req, res);
		}
	}
	//销毁方法
	public void destroy() {
		System.out.println("非法文字过滤器销毁");
	}
}

 

若发言charContent中 含有‘晕’,则跳转到SendFailure.jsp。

 

3、发言成功页面showContent.jsp

 

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
	<title>发言成功</title>
</head>
<body>
<center>
	<h1>发言成功</h1>
	用户名:${param.username}<br>
	发言内容:${param.charContent}
</center>
</body>
</html>

 

用EL表达式提取并显示charForm.jsp中提交的username和charContent信息。

 

4、发言失败页面sendFailure.jsp

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
	<title>发言失败</title>
</head>
<body>
<center>
	<h1>发言失败,含有非法文字</h1>
</center>
</body>
</html>

 

过滤出来了发言中含有非法字符,提示用户发言失败。

 

5、在web.xml中进行过滤器的配置

 

<filter>
 <filter-name>charFilter</filter-name>
 <filter-class>Filter.charFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>charFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

 

  • 大小: 7.7 KB
0
0
分享到:
评论

相关推荐

    简单过滤器的解决非法文字功能

    在这里,我们讨论的“简单过滤器的解决非法文字功能”是一个针对文本内容进行清洗的小型模块,它的目标是移除或替换掉不合法的文字,以确保数据的安全性和合规性。 非法文字可能包括特殊字符、敏感词汇或不符合规则...

    java过滤器

    2. **屏蔽非法文字过滤器**: 为了保护系统的安全性和数据的完整性,我们需要防止用户输入可能引起安全问题或破坏数据格式的非法字符。Java过滤器可以用于在数据提交到服务器之前对其进行检查和清洗。例如,我们...

    Servlet之过滤器

    本篇文章将深入探讨Servlet过滤器的使用,包括验证非法文字、验证登录以及统一编码等实例。 首先,我们来理解Servlet过滤器的基本工作原理。根据Java Servlet规范,过滤器通过实现`javax.servlet.Filter`接口来创建...

    j2ee过滤器Filter使用详解(实例)

    以下是一个检查非法文字的过滤器示例: ```java package cn.mldn.lxh.filter; import java.io.IOException; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; public class CharFilter ...

    非法关键字过滤管理系统 v1.0.rar

    用途:对经过IIS的非法信息进行过滤 安装方法: 1.将压缩包里的keyword.mdb放到C盘根目录 keyisapi.DLL任意目录,给予EVERYONE权限 ...4.C盘下的keyword.mdb为非法文字数据库.切勿更改名称.

    基于KDS的非法字符检测器

    总的来说,"基于KDS的非法字符检测器"是一个用于确保数据质量的工具,它利用特定的规则(仅允许英文和数字)来过滤输入,防止非法字符的出现。这种工具在数据录入、用户注册、密码安全等场景中非常常见,有助于维护...

    过滤敏感汉字字符

    - 模型学习:训练机器学习模型,如深度学习的分类器,来识别和过滤敏感内容。 3. 过滤策略: - 替换策略:将敏感字符替换为星号(*)或其他无意义的字符,以隐藏其真实内容。 - 删除策略:直接移除敏感字符或整个...

    骂人 脏字 过滤mysql_oracle_sqlserver数据库.txt

    此外,字符集设置为`utf8`,可以支持大多数语言的文字存储,确保敏感词能够被正确地表示。 ### 敏感词库构建 #### 敏感词的选择 文件中列举了一系列常见的敏感词汇,包括但不限于政治敏感词、低俗语言、非法活动等...

    图片自带文字描述,循环播放,可单击查看!

    7. **安全性**:考虑到可能存在的XSS攻击,需要对用户输入的文字描述进行编码或过滤,防止注入恶意脚本。同时,图片文件的上传和存储也需要确保安全,防止被非法访问或篡改。 以上就是关于“图片自带文字描述,循环...

    验证码实现详细步骤

    3. **Struts过滤器**:在Struts应用中,我们需要修改或添加一个过滤器来处理验证码。过滤器的作用是在请求到达Action之前进行预处理,比如验证请求是否包含正确的验证码。过滤器可以通过`Filter`接口实现,然后在`...

    C#水印以及缩略图代码

    例如,为了生成固定尺寸的缩略图,可以使用 `FixedResizeConstraint` 过滤器。 ```csharp jobThumb.Filters.Add(new FixedResizeConstraint(200, 200) { EnlargeSmallImages = false }); ``` 这里设置的参数为 `...

    input只能输入数字英文字母汉字

    当用户在输入框中输入文本时,可以监听`onkeyup`事件或`onbeforepaste`事件,并在这些事件发生时执行相应的处理函数来过滤非法字符。 #### 2. 示例代码分析 **示例1:仅允许数字** ```html (/\D/g,'')" ...

    网易编辑器用法演示.rar

    7. **安全考虑**:编辑器需要防止XSS(跨站脚本攻击)和其他安全问题,例如过滤非法字符、限制可执行的HTML标签和属性等。 8. **插件系统**:高级的编辑器往往具备插件系统,允许用户或第三方开发者扩展编辑器的...

    万能键盘记录器

    键盘记录器的工作原理是捕获并存储用户的击键事件,这些事件通常包括文字输入、快捷键操作等。它们可以实时记录或在特定时间间隔内进行批量收集。万能键盘记录器可能具备高级功能,如过滤无用的系统键入(如空格、...

    百度编辑器ueditor

    ueditor重视用户数据的安全,通过过滤非法字符和XSS攻击,保护用户的信息安全。同时,它还进行了性能优化,如延迟加载、异步上传等,以提高编辑器的响应速度和用户体验。 总的来说,百度编辑器ueditor是一款功能...

    java 验证码 框架

    通过示例代码,开发者可以了解如何配置拦截器或过滤器来自动处理验证码的验证过程,以及如何在前端展示和接收验证码。 总的来说,Java验证码框架jc为J2EE应用提供了安全验证的解决方案,通过示例代码简化了开发流程...

    user_struts_xml_html_k5.7086xzwork_系统_

    描述提到的“网上论坛文字过滤系统”是一个用于用户发布内容时自动过滤不合规文字的功能。这通常涉及到字符串处理、正则表达式匹配以及可能的数据库操作。这样的系统能够防止用户发布包含敏感或非法内容的信息,确保...

    在线编辑器

    KindEditor提供了一些安全措施,例如过滤非法标签和属性,防止恶意代码注入。 7. **API接口**:KindEditor提供了一套完整的JavaScript API,开发者可以通过调用这些接口控制编辑器的行为,如获取或设置编辑器内容、...

    去除CAD教育印记

    6. **使用对象选择过滤器**:如果印记是图形对象,可以利用“对象选择过滤器”定位到特定类型的对象,如块参照、线型或颜色,然后删除或替换。 7. **修复图形**:在去除印记后,确保检查图纸的完整性,防止意外删除...

Global site tag (gtag.js) - Google Analytics