美文网首页
重复提交的几种情况与应对策略:

重复提交的几种情况与应对策略:

作者: LAMYMAY | 来源:发表于2019-03-20 16:07 被阅读0次

前端/API调用后端接口,重复提交的几种情况与应对策略:

可能原因:

前台操作的抖动,快速操作,网络通信或者后端响应慢,都会增加后端重复处理的概率。

解决方案

范例github地址

  1. 前段按钮禁用。利用JavaScript做限制防止表单重复提交。

  2. 利用http请求带一个自定义header,利用header携带自定义数据(令牌),在后端解析判断这个自定义数据用于防止表单重复提交。
    具体的做法:2.1 client与server交互过程中,server生成token返回数据给client,要求调用接口的时候验证该token, 注意该token用一次后后端去做失效,这里可以使用redis来做

  3. 数据库做唯一约束。相同数据不允许重复。这个是最有效的防治重复提交的方法了。出现异常,回滚。

  4. 业务上判断。 设置业务状态,在某种状态插入,某种状态下更新,某种状态下不操作,以达到幂等性

  5. 使用Post/Redirect/Get。
    Post/Redirect/Get简称PRG,是一种可以防止表单数据重复提交的一种Web设计模式,像用户刷新提交响应页面等比较典型的重复提交表单数据的问题可以使用PRG模式来避免。例如:当用户提交成功之后,执行客户端重定向,跳转到提交成功页面。

注意:PRG设计模式并不适用所有的重复提交情况,、
比如:
1)由于服务器响应缓慢,用户刷新提交POST请求造成的重复提交。
2)用户点击后退按钮,返回到数据提交界面,导致的数据重复提交。
3)用户多次点击提交按钮,导致的数据重复提交。
4)用户恶意避开客户端预防多次提交手段,进行重复数据提交。

相关文章

  • 重复提交的几种情况与应对策略:

    前端/API调用后端接口,重复提交的几种情况与应对策略: 可能原因: 前台操作的抖动,快速操作,网络通信或者后端响...

  • 防止表单重复提交

    嘿,大家好,今天我来介绍几种简单的防止表单重复提交的方法: 防止表单重复提交 方法一:前端方式 当点击提交或者保存...

  • fabric2.2测试网络07:批准提交链码(go)

    修改策略 组织 1 批准 组织 2 批准 检查批准情况 提交 查询已提交

  • jvm-doc

    触发JVM进行Full GC的情况及应对策略

  • 20210321《小鑫投资学院》知行三问

    【1.印象最深刻的部分】 小鑫第三次直播卖出策略 卖出策略的核心是应对,制定的策略,要能应对各种情况,起码包括大多...

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

    如果网速比较慢的情况下,用户点击的提交发现半天没有反映,于是又重新点击了几次提交按钮,这就造成了重复提交的问题。那...

  • 利用Session防止表单重复提交

    我们在进行web开发的时候,必不可少会遇见表单重复提交问题,那么,在什么情况下会产生表单重复提交的情况呢? 1、在...

  • 关于防御模式

    关于防御模式,今天我们先分享常见的几种应对策略: 正面应对,例如:我努力的,让有责任的人去改变他的想法。 疏远,例...

  • Form重复提交

    在网络延迟的情况下,用户多次点击提交按钮,导致重复提交 (1)前端 通过JS来控制按钮状态或者变量重复判断 (2)...

  • struts令牌token

    一.使用场景 (1)网络延迟的情况下,进行多次提交. (2)表单提交后用户点击【刷新】按钮导致表单重复提交 (3)...

网友评论

      本文标题:重复提交的几种情况与应对策略:

      本文链接:https://www.haomeiwen.com/subject/lmctvqtx.html