首页新闻找找看学习计划

关于PythonWeb开发中的jwt和csrf

0
悬赏园豆:30 [已解决问题] 解决于 2018-12-18 08:50

jwt的基本加密原理和csrf攻击的原理都差不多懂了,
请问jwt能不能防御csrf攻击,或者怎么利用jwt防御csrf攻击,django_rest_framework是怎么防御csrf攻击的

new_candy的主页 new_candy | 初学一级 | 园豆:177
提问于:2018-12-11 15:34
< >
分享
最佳答案
1

客户端使用 auth授权头认证,token存储在 cookie中,需要防止xss攻击。可以防止 csrf攻击,因为 csrf只能在请求中携带 cookie,而这里必须从 cookie中拿出相应的值并放到 authorization 头中。实际上cookie不能跨站(同源政策)被取出,因此可以避免 csrf 攻击。(适用于 ajax请求或者 api请求,可以方便的设置 auth头)。
  也可以将token存储在 localstorage里面,需要防止xss攻击。实现方式可以在一个统一的地方复写请求头,让每次请求都在header中带上这个token, 当token失效的时候,后端肯定会返回401,这个时候在你可以在前端代码中操作返回登陆页面,清除localstorage中的token。(适用于 ajax请求或者 api请求,可以方便的存入 localstorage)。

new_candy | 初学一级 |园豆:177 | 2018-12-18 08:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册