如何生成和验证 csrf 令牌
Posted
技术标签:
【中文标题】如何生成和验证 csrf 令牌【英文标题】:how to generate and validate csrf tokens 【发布时间】:2011-08-24 01:43:29 【问题描述】:生成 csrf 令牌和验证的最佳方法是什么。据我所知,即使您在“发布”表单中有隐藏的表单字段,黑客也可以使用 ajax 简单地获取该表单,获取 csrf 令牌并向站点发送另一个请求以提交表单。
如果我们要检查发送给我们的标头...那么黑客可以简单地将 csrf 令牌发送到服务器端脚本,然后该脚本将模拟 http 标头。
那么如何实际生成和验证 csrf 令牌?
【问题讨论】:
【参考方案1】:所有基于令牌的 CSRF 保护都可以通过 XSS 被击败,这似乎是你“已经能够收集到的”。这对你来说是一本好书:OWASP on CSRF
【讨论】:
所以如果我在我的网站上解决 XSS,我将能够使用基于令牌的 CSRF 预防? 基本上是的,但要做到这一点绝非易事。如果您遵循该链接中的指南,您的状态会非常好。以上是关于如何生成和验证 csrf 令牌的主要内容,如果未能解决你的问题,请参考以下文章
基本 .ajax 发布到 rails 3.2.2 脚手架,生成“警告:无法验证 CSRF 令牌真实性”