JSP Struts过滤xss攻击的解决办法
JSPStruts过滤xss攻击的解决办法
本方案采用struts2的拦截器过滤,将提交上来的参数转码来解决。
配置struts.xml
...此处省略n个action
Java代码,拦截器实现类
importjava.util.Map;
importorg.apache.commons.lang3.StringEscapeUtils;
importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionInvocation;
importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;
publicclassXssInterceptorextendsAbstractInterceptor{
@Override
publicStringintercept(ActionInvocationinvocation)throwsException{
//TODOAuto-generatedmethodstub
ActionContextactionContext=invocation.getInvocationContext();
Mapmap=actionContext.getParameters();
for(Map.Entryentry:map.entrySet()){
Stringvalue=((String[])(entry.getValue()))[0];
entry.setValue(StringEscapeUtils.escapeHtml4(value));//将提交上来的字符串进行转码
//System.out.println((entry.getValue()));
}
returninvocation.invoke();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!