`
wanxiaotao12
  • 浏览: 472457 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

filter修改请求参数

    博客分类:
  • J2ee
 
阅读更多
public class SpecialCharacterFilter  {
	protected Log log = LogFactory.getLog(getClass());

	@Override
	protected void doFilterInternal(HttpServletRequest req,
			HttpServletResponse res, FilterChain chain)
			throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		Map map = req.getParameterMap();
		Set set = map.entrySet();
		if (map != null) {
			for (Iterator it = set.iterator(); it.hasNext();) {
				Map.Entry entry = (Entry) it.next();
				if (entry.getValue() instanceof String[]) {
					String[] values = (String[]) entry.getValue();
					for (int i = 0; i < values.length; i++) {
						//html特殊字符转义
						//values[i] = HtmlUtils.htmlEscape(values[i]);
						
						//Sql转义
						values[i]=StringEscapeUtils.escapeSql(values[i]);
						
						//javascript特殊字符转义
						//values[i] = JavaScriptUtils.javaScriptEscape(values[i]);
						
						entry.setValue(values);
					}
				}
			}
			chain.doFilter(req, res);
		}
	}
}

 

分享到:
评论

相关推荐

    filter对request请求拦截,对请求参数进行修改

    对request请求进行拦截,对请求参数修改。常用于前台提交表单参数关键字的过滤。此工具可以对参数拦截并转义后提交到对应的处理类。 除了添加两个JsFilter.java和GetHttpServletRequestWrapper.java之外,需要在web....

    使用HttpServletRequestWrapper在filter修改request参数

    标题“使用HttpServletRequestWrapper在filter修改request参数”揭示了主要知识点,即如何在过滤器中通过自定义`HttpServletRequestWrapper` 子类来动态改变请求参数。这通常用于处理如数据验证、安全过滤、参数转换...

    java修改请求参数

    总的来说,虽然Java中的请求参数默认是只读的,但通过`HttpServletRequestWrapper`和`Filter`,我们可以实现动态修改请求参数。同时,为了保证应用的安全性,必须严格验证和过滤输入,防止参数被篡改。在实际开发中...

    java web 修改request携带的参数信息

    虽然修改请求参数在某些场景下很有用,但需要注意的是,这可能会影响应用程序的安全性和性能。修改参数值可能破坏原有的业务逻辑,因此只应在必要时进行。同时,Filter的执行会增加服务器的处理时间,所以要优化...

    java 请求参数过滤拦截

    这里的“java请求参数过滤拦截”主要是指在接口接收到用户输入的数据时,通过过滤器(Filter)对参数进行检查,防止恶意攻击者利用特殊字符执行SQL注入、跨站脚本攻击(XSS)等危害。下面我们将详细探讨这一主题。 ...

    利用Filter全局中文过滤(get和post请求中文乱码问题)

    filter是javaWeb中一个十分重要的知识点,可以拦截webApp的所有请求。 使用场景: 1、可以利用filter做到网站自登录。...2、可以利用filter全局修改参数编码,从而解决中文乱码问题(十分重要)。

    spring cloud zuul修改请求url的方法

    在这个场景下,我们要讨论的是如何在Zuul中修改请求URL。 在实际的微服务架构中,我们可能需要对客户端发送的请求进行一些定制化的处理,比如修改请求的URL,以满足特定的业务需求。例如,可能需要在请求到达目标...

    Ajax请求和Filter配合案例解析

    Filter可以拦截请求,检查请求内容是否符合安全要求或业务规则,并且可以修改请求和响应头等。 在本案例中,服务器端存在一个防止SQL注入的Filter。当Ajax请求到达服务器后,该Filter会对提交的数据进行校验。如果...

    Java-filter测试程序

    - 检查请求,例如验证用户身份,或者修改请求参数。 - 处理响应,比如添加自定义的HTTP头或者压缩响应内容。 - 调用`chain.doFilter()`来继续请求处理流程,这样请求才会到达目标Servlet或JSP。 3. **配置Filter...

    Java_Filter过滤机制详解.doc

    3. **修改请求头和请求数据**:如果需要,Filter可以修改请求的数据或头信息。 4. **修改响应头和响应数据**:Filter还可以在响应发送给客户端之前修改响应头或响应体。 5. **在Servlet被调用之后截获**:这允许...

    带filter的留言板 参数读写

    在Java Web开发中,`Filter`是用于处理HTTP请求和响应的重要组件,它提供了一种在请求被实际处理之前和之后进行拦截、修改或者增强处理的能力。本话题将深入探讨"带filter的留言板",主要关注`Filter`的参数读写以及...

    java过滤器对所有参数去除前后空格

    对项目中的所有参数去除前后空格...可以基于此过滤器实现过滤跨站脚本攻击,参数的增加,修改!敏感词汇过滤。实现原理为重写HttpServletRequestWrapper,获取参数的方法。include和 Forwarded 内部转发不在过滤之内。

    Servlet Filter 的单元测试

    在`doFilter`方法中,Filter可以修改请求和响应对象,或者决定是否允许请求继续传递到目标Servlet。Filter的生命周期包括初始化(init)、执行(doFilter)和服务结束(destroy)三个阶段。 在单元测试Servlet ...

    Filter过滤器的代码及其web.xml配置代码

    在`doFilter()`方法中,我们通过`setCharacterEncoding()`方法设置了请求的编码方式为`UTF-8`,确保了请求参数的正确解析;同时,通过`setContentType()`设置了响应的编码方式,确保了返回的HTML页面也能正确显示...

    过滤器拦截并处理request请求

    例如,在标题提到的情景中,我们可以捕获`HttpServletRequest`对象(即request请求),对请求参数、请求头或请求体进行修改。这可能包括添加、删除或修改数据,甚至改变请求的方法(如GET转为POST)。此外,过滤器也...

    Filter(过滤器)简介和工作原理

    参数 chain 为代表当前 Filter 链的对象,在特定的操作完成后,可以在当前 Filter 对象的 doFilter 方法内部需要调用 FilterChain 对象的 chain.doFilter(request,response) 方法才能把请求交付给 Filter 链中的下一...

    Filter1源代码

    - **安全过滤**:阻止XSS、CSRF等攻击,过滤非法请求参数。 5. **Filter1源代码分析**: 这个资源可能包含了实现以上功能的示例代码,例如,可能有一个Filter用于实现登录验证,另一个用于字符编码转换。通过阅读...

    Java Filter相关资料

    这个方法中,开发者可以编写自定义逻辑,如添加日志、修改请求或响应等,然后通过`chain.doFilter(request, response)`将请求传递给下一个Filter或Servlet。 - **销毁(Destroy)**:当Servlet容器关闭或者Filter...

    J2EE之filter的应用

    6. **安全过滤**:对请求参数进行检查和过滤,防止 XSS、SQL 注入等安全攻击。 7. **MIME 类型转换**:根据请求的 URL 或其他条件,修改或添加响应的 MIME 类型。 8. **数据加密解密**:对请求或响应的数据进行加密...

    防止SQL注入和XSS攻击Filter

    - **实现细节**:这里并没有直接修改请求参数,而是通过包装器模式间接地实现了对请求参数的过滤。 ##### 2. XssHttpServletRequestWrapper类 ```java public class XssHttpServletRequestWrapper extends ...

Global site tag (gtag.js) - Google Analytics