防止重复提交表单的几种方法

防止重复提交表单的几种方法
重复提交表单是多用户Web应用程序中最常见和最麻烦的问题之一,有许多应用程序场景会遇到重复提交问题,例如:

点击提交按钮两次。
单击刷新按钮。
使用浏览器后退按钮重复以前的操作,导致重复提交表单。
使用浏览器历史记录重复提交。
浏览器重复HTTP请求。
防止重复提交表单的几种方法

没有提交按钮。在提交表单后,使用Javascript使提交按钮失效。这种方法防止紧急用户多次点击按钮。但是,如果客户端禁用Javascript,则该方法无效。

我之前的文章已经说过一些jQuery插件很好。

邮政/重定向/获取模式。提交后,进行页面重定向,这是所谓的后重定向到(PRG)模式。总之,当用户提交表单时,您执行重定向客户端向成功提交信息页面。

这样就避免了由于F5而造成的用户重复提交,并且不出现浏览器表单重复提交的警告,也消除了浏览器前进和后退所带来的问题。

店特别的登录会话。当表单页面被请求时,生成一个特殊的字符串,在会话中放在形式的隐藏域。在接受表单数据的处理检查是否存在身份字符串并立即删除它从会话,然后把手数据正常。

如果表单提交中没有有效字符串,则表示表单已提交并忽略提交。

这使您的Web应用程序有一个更先进的XSRF保护

向数据库添加约束。在数据库中添加唯一的约束或创建唯一的索引以防止数据重复。这是防止重复提交数据的最有效的方法。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部