我正在使用表单令牌来防止 CSRF 攻击。这些令牌被存储并绑定到用户的会话。现在我只想每 N 分钟或几小时刷新一次令牌,这样用户就不会遇到任何可用性问题,例如浏览器后退按钮无法正常工作。
我的问题是,刷新用户会话令牌之前的最佳时间段是多少?
我正在使用表单令牌来防止 CSRF 攻击。这些令牌被存储并绑定到用户的会话。现在我只想每 N 分钟或几小时刷新一次令牌,这样用户就不会遇到任何可用性问题,例如浏览器后退按钮无法正常工作。
我的问题是,刷新用户会话令牌之前的最佳时间段是多少?
我的建议:永远不要。
每个会话你应该只有一个 CSRF 令牌。如果会话超时,则 CSRF 令牌此时过期。
由于攻击者无法读取 CSRF 令牌(至少没有攻击者将 CSRF 令牌读取为会话 ID cookie 的风险),除非您有新的令牌,否则无需生成新令牌会议与它一起去。
那么你应该研究你的个人数据。你应该问自己以下问题:
这里没有人能比你自己更好地回答这些问题(以及其他问题)。