【问题标题】:Implementing CSRF protection using a session token使用会话令牌实现 CSRF 保护
【发布时间】:2014-01-23 12:29:19
【问题描述】:

我试图在我的新项目中实施 CSRF 保护。我使用为每个表单创建会话令牌来执行相同的操作,并且该令牌存储在表单的隐藏字段中。每次提交表单时,我都会检查 POST 中的令牌和会话中的令牌是否相同。如果它们相同,则完成所需的操作并更新会话令牌。

它工作得很好,但是当我们刷新提交的页面时会出现实际问题。然后发生令牌不匹配。

我的问题是,为每个表单使用单个令牌并且不为每个表单提交更新令牌是否安全?这能防止 CSRF 吗?

【问题讨论】:

    标签: csrf csrf-protection


    【解决方案1】:

    是的,不需要更新 CSRF 令牌。它只需要在每个用户会话中都是唯一的。

    由于攻击者无法读取隐藏表单字段的值,因此可以在会话期间重复使用相同的值。更新此值不会带来额外的安全性。

    但是,它绝对应该是每个用户会话的唯一值。不同的用户应该有不同的令牌,如果同一个用户再次登录,最好让之前的令牌过期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-13
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 2016-05-19
      • 2014-09-01
      • 2020-02-10
      相关资源
      最近更新 更多