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.Entry entry:map.entrySet()){ Stringvalue=((String[])(entry.getValue()))[0]; entry.setValue(StringEscapeUtils.escapeHtml4(value));//将提交上来的字符串进行转码 //System.out.println((entry.getValue())); } returninvocation.invoke(); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!