首页 文章

使用会话令牌实现CSRF保护

提问于
浏览
0

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

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

我的问题是,对于每个表单使用单个令牌是否安全,并且没有为每个表单提交更新令牌?这会阻止CSRF吗?

1 回答

  • 0

    是的,无需更新CSRF令牌 . 每个用户会话只需要是唯一的 .

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

    但是,它肯定应该是每个用户会话的唯一值 . 不同的用户应该有不同的令牌,如果同一用户再次登录,最好使之前的令牌失效 .

相关问题