2019独角兽企业重金招聘Python工程师标准>>>

1、什么是CSRF?
已经有很多博文讲解其过程和攻击手段,在此就不重复了。 O(∩_∩)O 不清楚的同学,请自行搜索或按链接去了解: http://blog.csdn.net/Flaght/article/details/3873590

2、CSRFGuard_Project
开源项目 CSRFGuard,介绍了如何使用在 HTTP 请求中加入 token 并验证的方法来抵御 CSRF。 https://www.owasp.org/index.php/Category:OWASP_CSRFGuard_Project

3、检测CSRF方法?
OWASP上面有一个叫做CSRFTester的工具,可以构建进行测试。
下载链接:https://www.owasp.org/index.php/CSRFTester
教程指引:http://www.zyiqibook.com/article216.html

4、如何防御CSRF?
我们采用CSRFGuard_Project方案 JAVA DOM方式。
配置如下:

1)引入csrfguard-3.1.0.jar到你的工程: 2)配置web.xml:

<!-- 基于复杂方案OWASP CsrfGuard的CSRF安全过滤 --><servlet><servlet-name>JavaScriptServlet</servlet-name><servlet-class>org.owasp.csrfguard.servlet.JavaScriptServlet</servlet-class></servlet><servlet-mapping><servlet-name>JavaScriptServlet</servlet-name><url-pattern>/JavaScriptServlet</url-pattern></servlet-mapping><context-param><param-name>Owasp.CsrfGuard.Config</param-name><param-value>WEB-INF/csrfguard.properties</param-value><!-- 配置文件 --></context-param><context-param><param-name>Owasp.CsrfGuard.Config.Print</param-name><param-value>true</param-value></context-param><!-- session监听器 --><!-- 基于复杂方案CsrfGuard的session监听器 --><listener><listener-class>org.owasp.csrfguard.CsrfGuardHttpSessionListener</listener-class></listener><listener><listener-class>org.owasp.csrfguard.CsrfGuardServletContextListener</listener-class></listener><filter><filter-name>CSRFGuard</filter-name><filter-class>org.owasp.csrfguard.CsrfGuardFilter</filter-class></filter><filter-mapping><filter-name>CSRFGuard</filter-name><url-pattern>/*</url-pattern></filter-mapping>

3)引入配置文件csrfguard.js csrfguard.properties(jar包META-INF里面有) csrfguard.properties配置文件中有几点需要注意:

可以指定加载的js,为方便管理,我放在WEB-INF目录下:

org.owasp.csrfguard.JavascriptServlet.sourceFile = WEB-INF/csrfguard.js

org.owasp.csrfguard.TokenName 对于nginx分发多servers的情况,nginx默认过滤带下划线的header,要么改掉nginx的配置,要么改这个参数的值。:fa-paper-plane: 参考:http://www.ttlsa.com/nginx/nginx-proxy_set_header

#>>>>>>>>>>>>>--author by caizhengluan  e-mail: SvenAugustus@outlook.com
#Nginx ignores the underlined header variables by default.
# Please do not set "TokenName" has any underlines if you can't unkonwn how to change nginx's configuration.
org.owasp.csrfguard.TokenName=PAYCSRFTOKEN
#<<<<<<<<<<<<<--author by caizhengluan  e-mail: SvenAugustus@outlook.com

org.owasp.csrfguard.JavascriptServlet.refererMatchDomain 对于nginx分发多servers的情况,需要设置为false

#>>>>>>>>>>>>>--author by caizhengluan  e-mail: SvenAugustus@outlook.com
# If you have cluster and nginx, please set this value to false.Otherwise, you will can't visit into the servers when you access nginx address.
org.owasp.csrfguard.JavascriptServlet.refererMatchDomain = false
#<<<<<<<<<<<<<--author by caizhengluan  e-mail: SvenAugustus@outlook.com

4、如何具体防御DWR和我们的页面? 在你的页面最后加上这么一句:

<!-- OWASP CSRFGuard JavaScript Support -->
<script src="<%=request.getContextPath()%>/JavaScriptServlet"></script>

如此,完美解决。--author by caizhengluan e-mail: SvenAugustus@outlook.com 如有转载,请标明转载,并附上原始链接,谢谢。

转载于:https://my.oschina.net/langxSpirit/blog/678901

基于复杂方案OWSAP CsrfGuard的CSRF安全解决方案(适配nginx + DWR)相关推荐

  1. 基于物联网方案的环保工况用电解决方案

    基于物联网方案的环保工况用电解决方案 工业4.0时代,也就是物联网时代,无论是在企业发展中还是在日常生活中,物联网以其前所未有的智慧性.高效性.便捷性成为时代发展大势所趋,各行各业市场潜力巨大.作为一 ...

  2. 给你一个全自动的屏幕适配方案(基于SW方案)二 —— Calces.Screen插件拓展功能升级...

    如果不了解Calces.screen插件的用法或者想深入了解sw( Smallest Width) 屏幕适配方案的话,可以阅读上一篇文章: 给你一个全自动的屏幕适配方案(基于SW方案)!-- 解放你和 ...

  3. 大功率双伺服电机驱动板,包含原理图,PCB和原代码,基于STM32F4方案,支持霍尔,编码器,无感

    大功率双伺服电机驱动板,包含原理图,PCB和原代码,基于STM32F4方案,支持霍尔,编码器,无感. 需要有一定的基础,无基勿扰. :9450639029711075枫叶蓝.

  4. 基于BB方案,荣耀观影眼镜Vision Glass正式发布

    3月6日青亭网报道,在荣耀Magic5系列及全场景新品发布会上,荣耀发布了一款基于BirdBath方案的观影眼镜:HONOR Vision Glass. 这款眼镜外观上和Nreal Air非常一致,就 ...

  5. 【VMware vSAN 6.6】5.1.基于存储策略的管理:vSAN硬件服务器解决方案

    目录 1. 简介 1.1.适用于HCI的企业级存储 2. 体系结构 2.1.带有本地存储的服务器2.2.存储控制器虚拟系统套装的缺点 2.3.vSAN在vSphere Hypervisor中自带 2. ...

  6. 基于TableStore的海量气象格点数据解决方案实战

    前言 气象数据是一类典型的大数据,具有数据量大.时效性高.数据种类丰富等特点.气象数据中大量的数据是时空数据,记录了时间和空间范围内各个点的各个物理量的观测量或者模拟量,每天产生的数据量常在几十TB到 ...

  7. 解决方案:Nginx高可用方案

    解决方案:Nginx高可用方案 关键词 KeepAlived(主服务器 和 备份服务器 故障时 IP 瞬间无缝交接) VRRP协议(路由器组,提供虚拟IP,一个master和多个backup,组播消息 ...

  8. 基于云平台服务器的数据处理方法及系统,基于云平台的有毒有害气体监测系统解决方案...

    原标题:基于云平台的有毒有害气体监测系统解决方案 一.方案背景 有毒有害气体检测仪是常用于检测有毒有害气体泄露的方法,但是,现有的气体检测仪存在诸多问题,如:品牌众多.良莠不齐.安装地点相对分散等问题 ...

  9. RFC7814基于BGP/MPLS IP VRF的子网扩展解决方案

    基于BGP/MPLS IP VRF的子网扩展解决方案 ---学习笔记 1引言 2术语 3方案描述 3.1单播 3.1.1子网内单播 3.1.2子网间单播 3.2组播 3.3主机发现 3.4ARP/ND ...

最新文章

  1. Flash Builder 找不到所需的Adobe Flash Player调试器版本的解决办法
  2. 物联网入门怎么学?物联网基础知识
  3. 大厂程序员跳槽去小公司当CTO,是一种怎样的体验?
  4. java 不写this_JAVAthis使用的那些事儿
  5. dataTable表头未对其解决方法
  6. as2 AVM1对象和as3对象的通信
  7. 才27岁,北大博士不幸离世
  8. 计算的未来30年:2050大会分享实录
  9. 编码的奥秘:电筒密谈
  10. JCR分区和中科院分区的区别
  11. pp助手苹果版_吃药提醒助手ios版下载-吃药提醒助手苹果版下载v1.0
  12. 计算机软件吸附效应,流体混合物吸附分离的分子模拟研究
  13. bartender各个版本下载链接(10.1\2016\2019)
  14. Substance Painter 创建头发实验
  15. UIPATH 调用SAP BAPI
  16. Android使用svg格式图片,并改变图片颜色
  17. Python出租车GPS数据的路网匹配(TransBigData+leuvenmapmatching)
  18. 无线路由器桥接(以不同品牌为例tplink和fast)
  19. 用maven驱动搜索dom4j异常,原因分析
  20. 【车流量预测论文】(2020)GMAN: A Graph Multi-Attention Network for Traffic Prediction-20201213

热门文章

  1. 玩转车联网1---初识OBD和行车助手
  2. Ntdsutil对活动目录的管理
  3. 【已解决】烂泥:耳机有声音,话筒却没有输入……
  4. NRF52832与W25Q80通信
  5. 深度有趣 | 22 天马行空的DeepDream
  6. C语言:在屏幕上打印杨辉三角形
  7. css -- 运用@media实现网页自适应中的几个关键分辨率
  8. extract ,eval的用法
  9. 原创:检查点的三种加入方式
  10. MySQL Index Condition Pushdown 原理与解析