JSP Struts过滤xss攻击的解决办法

本方案采用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();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Struts过滤xss攻击
# JSP
# Struts过滤攻击对象
# 用js屏蔽被http劫持的浮动广告实现方法
# JSP使用过滤器防止Xss漏洞
# JS写XSS cookie stealer来窃取密码的步骤详解
# JSP过滤器防止Xss漏洞的实现方法(分享)
# JSP安全开发之XSS漏洞详解
# 防止xss和sql注入:JS特殊字符过滤正则
# 详解前端安全之JavaScript防http劫持与XSS
# 拦截器
# 希望能
# 谢谢大家
# 解决办法
# xssInterceptor
# extends
# myDefault
# stack
# interceptors
# gt
# interceptor
# json
# ref
# Map
# util
# apache
# org
# action
# defaultStack
# import
相关文章:
如何高效完成独享虚拟主机建站?
制作网页的网站有哪些,电脑上怎么做网页?
如何高效利用亚马逊云主机搭建企业网站?
建站主机是什么?如何选择适合的建站主机?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
如何在腾讯云服务器快速搭建个人网站?
存储型VPS适合搭建中小型网站吗?
山东网站制作公司有哪些,山东大源集团官网?
相册网站制作软件,图片上的网址怎么复制?
电商平台网站制作流程,电商网站如何制作?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何配置FTP站点权限与安全设置?
建站之星会员如何解锁更多建站功能?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
建站主机选虚拟主机还是云服务器更好?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
如何用搬瓦工VPS快速搭建个人网站?
简单实现Android文件上传
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
成都网站制作报价公司,成都工业用气开户费用?
历史网站制作软件,华为如何找回被删除的网站?
免费网站制作appp,免费制作app哪个平台好?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
长沙做网站要多少钱,长沙国安网络怎么样?
如何通过IIS搭建网站并配置访问权限?
如何在建站之星绑定自定义域名?
如何通过虚拟主机快速搭建个人网站?
微信推文制作网站有哪些,怎么做微信推文,急?
建站之星安装后如何配置SEO及设计样式?
如何选择高效便捷的WAP商城建站系统?
建站之星2.7模板快速切换与批量管理功能操作指南
c++ stringstream用法详解_c++字符串与数字转换利器
平台云上自助建站如何快速打造专业网站?
在线教育网站制作平台,山西立德教育官网?
如何批量查询域名的建站时间记录?
网站代码制作软件有哪些,如何生成自己网站的代码?
如何正确选择百度移动适配建站域名?
潮流网站制作头像软件下载,适合母子的网名有哪些?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
建站之星如何配置系统实现高效建站?
宝塔面板如何快速创建新站点?
如何选择高效稳定的ISP建站解决方案?
如何用IIS7快速搭建并优化网站站点?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
高端建站如何打造兼具美学与转化的品牌官网?
javascript中的try catch异常捕获机制用法分析
如何获取免费开源的自助建站系统源码?
*请认真填写需求信息,我们会在24小时内与您取得联系。