spring-mvc-showcase 学习之 csrf 防范
CSRF(Cross-site request forgery)跨站请求伪造。
对于防范这种攻击最基本的做法是请求时先给浏览器返回一个token,以后的访问都需要带上这个token才能正常响应。至于该token是否与IP,SESSIONID相关联不得而知。
原理不做过多的研究,现在介绍如何通过配置spring来防范CSRF。
1: spring 及 spring-security 版本
2 : 配置
3: 通过上面的配置 发起会话时会生产 _csrf 对象
4: 请求url时需在Header头中设置token变量,否则会报错
5: 验证方法 将token设置为“111111”
最初的一些迷惑,点击大多数页面正常访问,只有几个页面报错,为什么会这样呢?
CSRF 防范为什么对get请求不起作用。
因为第一次get请求是不会带上任何token的,如果连get请求都验证的话意味着网站是无法访问的。
而且根据规范而言,get请求只是去服务器请求资源,不会修改任何资源。POST请求意味着要修改资源,因此必须对POST请求进行最基本的验证,比如请求Header头是否带有token。
转载于:https://my.oschina.net/qidis/blog/845533