【发布时间】:2021-12-10 07:21:58
【问题描述】:
我最近在阅读有关 CSRF 攻击以及 Rails 如何防御它们的文章,但有些东西我不理解,也找不到解释。
根据我对Nvisium's blog post、The official guides' 和This valuable video 的了解,Rails 通过以下方式防止 CSRF 攻击:
- 在每个表单中嵌入
authenticity_token - 在处理 POST 请求时,将提交的令牌值与用户会话中关联的值进行比较。
我不明白的是:
由于 authenticity_token 是一个公开可用的值,不能通过简单地检查网页来访问,当攻击者可以简单地复制该值并将其插入恶意表单时,这种保护如何他/她正在创作。
当然,我的直觉告诉我它比这更复杂,但我找不到任何解释如何避免上述情况。如果您有解释或知道任何可以说明这一点的来源,我将不胜感激
【问题讨论】:
标签: ruby-on-rails csrf