每个响应中的 CSRF Token
Posted
技术标签:
【中文标题】每个响应中的 CSRF Token【英文标题】:CSRF Token in every response 【发布时间】:2016-09-25 11:15:57 【问题描述】:我正在研究基于弹簧的项目的安全性,我发现了这个过滤器:spring-security-csrf-filter
它承诺在每个响应中添加 csrf 令牌,我问你,它安全吗?
我找不到任何关于何时归还令牌的最佳做法。
我用这个过滤器做了一些测试,结果是即使我请求一个不存在的端点,spring也会返回令牌。
【问题讨论】:
是的,CSRF 令牌应该在每次响应时刷新。 所以,在客户端,我应该有一些东西可以从每个响应中提取令牌,而不仅仅是第一次,对吗? 是的,没错。 @1615903 不正确。基于会话的 CSRF 很好 【参考方案1】:当 Spring 内置了一个随机过滤器时,为什么还要使用一些随机过滤器?
什么安全?您的威胁模型是什么?
在每个响应中都返回 CSRF 令牌很好,即使您不使用它。同源策略阻止其他站点读取响应。
【讨论】:
过滤器和内置版本的区别写在我在问题中链接的github页面中。我是安全方法的新手,所以我不完全了解同源策略如何阻止其他站点读取响应,因此,令牌以上是关于每个响应中的 CSRF Token的主要内容,如果未能解决你的问题,请参考以下文章
预检响应中不允许 Laravel 前端到 Django 后端 x-csrf-token
将它们分开时将 Django 的 csrf_token 放入 Vuejs
在 laravel+vuejs 项目中允许 X-CSRF-TOKEN 吗?