csrf令牌在表单重新提交时不会通过浏览器的刷新按钮进行匹配

时间:2017-01-02 14:28:24

标签: php csrf page-refresh

我在表单中发送了一个csrf令牌,并将其存储在会话中,以便在提交表单时验证它们是否相同。

在每次页面加载时都会生成csrf标记,这意味着会话中的csrf标记也会发生变化。但是当我用浏览器重新提交表单时,刷新"按钮,它发送抛出错误的旧令牌..

有没有办法在缓存的浏览器数据中更改令牌?

1 个答案:

答案 0 :(得分:1)

没有。它甚至不会缓存数据,您要求浏览器重复之前的请求。

您可以使用PGR pattern来避免此问题,以便刷新只会加载显示页面,并且不会重新提交表单数据以进行处理。

也就是说,generate the token once per session通常被认为是好的,而不是每个页面加载。这也可以解决人们一次在两个标签中访问网站的问题。