全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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小时内与您取得联系。