Struts2 过滤 xss攻击 的一种解决方案
来源:互联网 发布:javascript dom是什么 编辑:程序博客网 时间:2024/05/21 08:56
本方案采用struts2的拦截器过滤,将提交上来的参数转码来解决。
配置struts.xml
<package name="default" namespace="/" extends="struts-default, json-default"> <!-- 配置拦截器 --> <interceptors> <!-- 定义xss拦截器 --> <interceptor name="xssInterceptor" class="...此处填写拦截器类名"></interceptor> <!-- 定义一个包含xss拦截的拦截栈 --> <interceptor-stack name="myDefault"> <interceptor-ref name="xssInterceptor"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <!-- 这个必须配置,否则拦截器不生效 --> <default-interceptor-ref name="myDefault"></default-interceptor-ref> <action> ...此处省略n个action </action> </package>
Java代码,拦截器实现类
import java.util.Map;import org.apache.commons.lang3.StringEscapeUtils;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class XssInterceptor extends AbstractInterceptor{ @Override public String intercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub ActionContext actionContext = invocation.getInvocationContext(); Map<String, Object> map = actionContext.getParameters(); for (Map.Entry<String, Object> entry : map.entrySet()) { String value = ((String[])(entry.getValue()))[0]; entry.setValue(StringEscapeUtils.escapeHtml4(value));//将提交上来的字符串进行转码 //System.out.println((entry.getValue())); } return invocation.invoke(); }}
2 0
- Struts2 过滤 xss攻击 的一种解决方案
- Struts2 过滤CSRF攻击的一种解决方案
- XSS攻击的过滤
- 对各类xss攻击手段的过滤
- PHP过滤XSS攻击的函数
- PHP的XSS攻击过滤函数
- PHP过滤XSS攻击的函数
- PHP过滤XSS攻击的函数
- WEB安全实战(五)XSS 攻击的另外一种解决方案(推荐)
- WEB安全实战XSS 攻击的另外一种解决方案(推荐)
- WEB安全实战(五)XSS 攻击的另外一种解决方案(推荐)
- PHP过滤XSS攻击
- PHP XSS攻击过滤
- Struts2 Xss 攻击预防的处理
- 防止 XSS 攻击 解决方案
- XSS攻击及其解决方案
- 防止 XSS 攻击 解决方案
- xss攻击解决方案
- malloc.c
- Feature分支
- 异步调用与多线程的区别
- 远程连接不上vmware
- iOS Location Service
- Struts2 过滤 xss攻击 的一种解决方案
- 多人协作
- android Java String API
- FMDB 数据库简单用法
- arean.c
- jQuery入门学习笔记----第一章 jQuery开发入门
- 【bzoj4145】[AMPPZ2014]The Prices
- Javascript跨域和Ajax跨域解决方案
- C#定时器