![](/img/trans.png)
[英]Trying to prevent form re-submission upon refresh, can't modify header information
[英]csrf token doesn't match in form re-submission through browser's refresh button
我在表单中发送了一个csrf令牌,并将其存储在会话中,以便在提交表单时可以验证它们是否相等。
每次页面加载时都会生成csrf令牌,这意味着会话中的csrf令牌也会发生变化。 但是,当我使用浏览器的“刷新”按钮重新提交表单时,它会发送旧的令牌,从而引发错误。
有没有办法更改缓存的浏览器数据中的令牌?
不。它甚至不是缓存的数据,您是在要求浏览器重复上一个请求。
您可能可以通过使用PGR模式来避免该问题,以便刷新仅加载显示页面,而无需重新提交表单数据进行处理。
也就是说,通常认为每个会话一次生成令牌而不是在每次页面加载时生成令牌是可以的 。 这也可以解决人们同时访问两个标签中的站点的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.