Spring REST 配置CSRF防护

本文介绍了Spring REST服务如何配置CSRF防护,包括理解CSRF攻击的原理,防御措施,以及REST服务中CSRF token如何存储在header中以避免通过cookie的安全问题。文章还提供了实验案例,展示了带有和不带token的POST请求的不同结果。
摘要由CSDN通过智能技术生成

Spring REST 配置CSRF防护


内容从以下几个方面展开
  • 什么是CSRF防护
  • 如何运用CSRF进行防御(WEB)
  • 如何将CSRF防御,运用到REST中

1.什么是CSRF

CSRF 攻击简单来说,是多Tab页面浏览器的一个安全漏洞,比如你正在访问A网站,此时如果浏览器有你的cookie,并且session没有过期,此时你去访问B网站,那么B网站可以直接调用A网站的接口,而A网站则认为是你本人进行的操作。以下是图示:


2.如何进行防御

对CSRF进行防御,可以通过加Token.也就是当你访问A网站的时候,A会给你一个token,然后,接下去的post请求,你需要把token带上,不然服务器则拒绝接收这个请求。
- 1. token的产生:spring-security 4.0之后默认开启csrf,可以直接产生csrf token。
- 2. token的存储:这里存储是指服务端的存储,token是存储在session中。
- 3. token的传送:token可以通过cookie,也可以放在header中自定义的属性中。
- 4. token的接收和返回:前段收到http respon 之后,需要把相应的token返回回来。
- 5. token校验:服务器端对自己持有的token和客户端反馈回来的token进行校验,决定是否拒绝服务(拒绝服务可以自定义)。


3.REST 的CSRF防御

一般写REST服务(也就是直接@ResponseBody)返回json字符串,则可以把token加在header里头的自定义属性中,为什么不能直接加在header中的cooike里

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值