【发布时间】:2023-03-17 19:48:02
【问题描述】:
是否可以在整个会话中使用相同的 CSRF 令牌?我看不出有任何理由通过不超过几个小时的会话来更改 CSRF 令牌。
有任何理由使用一次性令牌吗?根据我的经验,这些通常会导致糟糕的用户体验。
【问题讨论】:
-
我想生成随机令牌是首选,因为 XSS+CSRF 攻击无法在整个会话期间用单个令牌保护用户。
-
一次性令牌的糟糕用户体验究竟是什么?
是否可以在整个会话中使用相同的 CSRF 令牌?我看不出有任何理由通过不超过几个小时的会话来更改 CSRF 令牌。
有任何理由使用一次性令牌吗?根据我的经验,这些通常会导致糟糕的用户体验。
【问题讨论】:
在整个会话中使用单个令牌是一个有效的选项,但请注意您的站点可能包含可以绕过您的 CSRF 防御的漏洞。例如 XSS 或只是在发送/接收敏感页面时缺乏加密。
我个人使用会话令牌,但添加了更多。我将可能的用户操作分为几层,其中最高层包含最敏感的操作,最低层是常见的非敏感操作。对于最高层,我要求用户再次进行身份验证,而中间层只需要会话 CRSF 令牌。
希望这会有所帮助:)
【讨论】: