教你设置防止web表单重复提交的几种策略

网页美工培训课程老师教你设置防止web表单重复提交的几种策略,因为表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如:

点击提交按钮两次。

点击刷新按钮。

使用浏览器后退按钮重复之前的操作,导致重复提交表单。

使用浏览器历史记录重复提交表单。

浏览器重复的HTTP请求。

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

禁掉提交按钮。表单提交后使用Javascript使提交按钮disable。这种方法防止心急的用户多次点击按钮。但有个问题,如果客户端把Javascript给禁止掉,这种方法就无效了。

Post/Redirect/Get模式。在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面。

这能避免用户按F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退按导致的同样问题。

在session中存放一个特殊标志。当表单页面被请求时,生成一个特殊的字符标志串,存在session中,同时放在表单的隐藏域里。接受处理表单数据时,检查标识字串是否存在,并立即从session中删除它,然后正常处理数据。

如果发现表单提交里没有有效的标志串,这说明表单已经被提交过了,忽略这次提交。

这使你的web应用有了更高级的XSRF保护。

在数据库里添加约束。在数据库里添加唯一约束或创建唯一索引,防止出现重复数据。这是最有效的防止重复提交数据的方法。

(0)

相关推荐

  • 防止form表单重复提交(java后端解决重复提交问题)

    在javaweb方向做开发的小伙伴们,肯定都会遇到表单重复提交的问题.这种问题出现的原因或者说应用场景大致如下:网络延迟,服务器未能及时做出响应,导致用户不断重复点击提交按钮用户双击有意识的双击或者多 ...

  • dz 您的请求来路不正确或表单无法提交

    操作方法 01 自从我的社区升级到0201版后,在内容页面点击支持或反对时总是提示:抱歉,您的请求来路不正确或表单无法提交,搜了下官方,很多人都出现这种问题,但并没有一个解决的方法.后来自己后台把模板 ...

  • html表单的提交,单选和多选按钮,隐藏域的编写

    我们经常在html中用到表单,可以说传递信息的一种渠道.我们通过用到checkbox关键字来显示多选框,而使用radio关键字来代表单选,还有个用hidden表示隐藏域.下面看看代码. 操作方法 01 ...

  • 如何新建打印机表单并设为默认纸张规格

    打印机是现在十分常用的办公设备之一,有些新用户不知道如何新建打印机表单并设为默认纸张规格,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先点击左下角[开始]图标,接着根据下图箭头 ...

  • 怎么给打印机创建新表单

    打印机是现在十分常用的办公设备之一,有些新用户不知道怎么给打印机创建新表单,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先点击左下角[开始]图标,接着在弹出的菜单栏中根据下图所 ...

  • 如何设计表单的错误信息

    本文中,我们会讨论如何通过优化错误提示信息,来优化UI表单的设计. 在UI界面的设计中,用户的操作失误不可避免,通过错误提示将当前状态传达给用户,这种反馈机制可以帮助用户及时作出调整并找到合理的解决方 ...

  • Word2007表格标题行重复显示的两种设置方法

    我们在使用Word2007制作和编辑表格时,当同一张表格需要在多个页面中显示时,往往需要在每一页的表格中都显示标题行.本篇介绍一下设置Word2007表格标题行重复显示的两种方法. 方法一 01 打开 ...

  • 如何用表单制作出精美的页面

    你的页面如何在一个个活动中凸显出来,如何更好的吸人眼球,获得更高的好感度,实现高转化?表单大师不仅可以用来收集数据,它的许多组件搭配使用,完全可以制作出一个精美的页面,不仅展示直观,还可直接实现销售转 ...

  • 表单设计:一页只做一件事

    小编:形形色色的表单我们几乎每天都会接触,如何让用户顺利的完成表单填写.提交是我们应该想的事.一起去看看表单最高的工作效率:一页只做一件事. 2008年的时候,我在*Boots.com*工作.他们想做 ...