我在表单中发送了一个csrf令牌,并将其存储在会话中,以便在提交表单时验证它们是否相同。
在每次页面加载时都会生成csrf标记,这意味着会话中的csrf标记也会发生变化。但是当我用浏览器重新提交表单时,刷新"按钮,它发送抛出错误的旧令牌..
有没有办法在缓存的浏览器数据中更改令牌?
答案 0 :(得分:1)
没有。它甚至不会缓存数据,您要求浏览器重复之前的请求。
您可以使用PGR pattern来避免此问题,以便刷新只会加载显示页面,并且不会重新提交表单数据以进行处理。
也就是说,generate the token once per session通常被认为是好的,而不是每个页面加载。这也可以解决人们一次在两个标签中访问网站的问题。