在整个会话中使用相同的CSRF令牌是否可以接受?我认为没有任何理由使用延长不超过几个小时的会话来更改CSRF令牌。
有没有理由使用一次性令牌?根据我的经验,这些经常会导致糟糕的用户体验。
答案 0 :(得分:2)
对整个会话使用单个令牌是一种有效的选择,但要注意您的站点可能包含可以规避CSRF防御的漏洞。例如XSS或发送/接收敏感页面时缺乏加密。
我个人使用会话令牌,但增加了一点。我将可能的用户操作划分为层,其中最高层包含最敏感的操作,最低层是常见的非敏感操作。对于最高层,我要求用户再次进行身份验证,而中间层只需要会话CRSF令牌。
希望这会有所帮助:)