CSRF和token认证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSRF和token认证相关的知识,希望对你有一定的参考价值。

参考技术A CSRF(Cross-site request forgery)跨站请求伪造。
攻击者盗用你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全。

CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于 cookie 中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。

要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。

当客户端请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中,然后将Token发给客户端(一般通过构造hidden表单)。下次客户端提交请求时,Token会随着表单一起提交到服务器端。

以上是关于CSRF和token认证的主要内容,如果未能解决你的问题,请参考以下文章

CBV-3-csrf_token认证-中间件

CBV-3-csrf_token认证-中间件

JWT 认证 签发与校验token 多方式登陆 自定义认证规则反爬 admin密文显示

django系列6--Ajax04 请求设置(设置csrf_token)

Django--csrf跨站请求伪造Auth认证模块

使用springboot和redis实现redis权限认证