我假设你在谈论这个问题 双提交Cookies CSRF预防方法 。
如果没有,那么这不是一个安全的解决方案 - 对于一些防范CSRF的方法,请参阅 为什么在CSR中放置CSRF预防令牌很常见?
是的,您应该在注销和登录时刷新CSRF令牌。请注意,登录CSRF并非每个站点都需要防范。 看到这个答案 如果你需要这样做
在登录时不刷新CSRF令牌的(极低)风险是,如果另一个用户使用相同的浏览器登录,则原始用户知道CSRF令牌并且如果他们诱使新用户跟踪恶意,则可以自己使用CSRF攻击链接。当然,如果第一个用户控制了浏览器或操作系统,他们可以简单地在机器上安装一些东西来执行此操作。但是,如果第二个用户在使用前彻底检查了机器,那么这种类型的CSRF攻击将无法检测到(尽管如果用户如此警惕,那么他们在登录时不会点击任何收到的链接)。
简而言之,如果您正在实施CSRF保护,那么您也可以正确地执行此操作并刷新令牌upton登录和注销。
的 在登录 强>
为了防止伪造登录请求,还应该保护登录表单免受CSRF攻击。由于CsrfToken存储在HttpSession中,这意味着将立即创建HttpSession。虽然这在RESTful /无状态架构中听起来很糟糕,但实际情况是状态是实现实际安全性所必需的。没有状态,如果令牌被泄露,我们无能为力。实际上,CSRF令牌的规模非常小,对我们的架构的影响可以忽略不计。
的 注销 强>
添加CSRF会将LogoutFilter更新为仅使用HTTP POST。这可确保注销需要CSRF令牌,并且恶意用户无法强制注销您的用户。
一种方法是使用表单进行注销。如果你真的想要一个链接,你可以使用JavaScript让链接执行POST(即可能在隐藏的表单上)。对于禁用了JavaScript的浏览器,您可以选择让链接将用户带到将执行POST的注销确认页面。
有关详细信息,请参阅此链接: Csrf保护 你可以看看 csrf超时