spring-mvc-showcase 学习之 csrf 防范

CSRF(Cross-site request forgery)跨站请求伪造。

对于防范这种攻击最基本的做法是请求时先给浏览器返回一个token,以后的访问都需要带上这个token才能正常响应。至于该token是否与IP,SESSIONID相关联不得而知。

原理不做过多的研究,现在介绍如何通过配置spring来防范CSRF。

1: spring 及 spring-security 版本

134855_NKHh_2447963.png

2 : 配置

 

3:  通过上面的配置 发起会话时会生产 _csrf 对象

140328_gA7Y_2447963.png

4: 请求url时需在Header头中设置token变量,否则会报错

141605_q5bY_2447963.png

 

141851_XdEj_2447963.png

 

5: 验证方法 将token设置为“111111”

142231_ikmw_2447963.png

 

最初的一些迷惑,点击大多数页面正常访问,只有几个页面报错,为什么会这样呢?

CSRF 防范为什么对get请求不起作用。

因为第一次get请求是不会带上任何token的,如果连get请求都验证的话意味着网站是无法访问的。

而且根据规范而言,get请求只是去服务器请求资源,不会修改任何资源。POST请求意味着要修改资源,因此必须对POST请求进行最基本的验证,比如请求Header头是否带有token。

 

 

 

 

转载于:https://my.oschina.net/qidis/blog/845533

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值