PHP Post / Redirect / Get解决方案只是用于刷新页面吗?
如果用户点击两次后退按钮并重新发送表单怎么办?我找到的唯一解决方案是检查我的数据库中是否已发布相同的数据。
在没有查询数据库的情况下还有其他解决方案吗?
提前谢谢!!!
答案 0 :(得分:0)
因为HTTP的性质而使用PRG。 POST不是安全的操作,因此首选PRG。
答案 1 :(得分:0)
PRG非常适合浏览器后退按钮支持。 HTTP重定向替换浏览器历史记录中的URL,而不是添加新条目。 如果您始终如一地应用PRG,即您总是从POST返回重定向,那么浏览器历史记录将只包含“安全”页面(GET),历史记录中永远不会有POST URL。
但仍有可能获得重复的表单提交。例如,如果用户双击提交按钮。因此,如果你想要更加安全,你需要一些额外的机制(例如nonce)来防止双重提交。