springboot防重复提交

文章讨论了在网页卡顿时如何防止用户重复操作导致的问题,如重复提交订单。前端通常通过禁用点击按钮来解决大部分情况,但为确保万无一失,后端也需要配合。解决方案包括前端JS禁用、数据库唯一索引、令牌验证和使用SpringAOP进行请求拦截。其中,令牌机制和SpringAOP自定义切入被认为是更可靠的方法。
摘要由CSDN通过智能技术生成

1、场景

网页卡顿的时候,用户点击会造成重复操作\n\n如果前端不做防重复操作。会导致重复提交,重复下单等意外操作。而且对于系统资源来说也是一种浪费常规的解决方法是让前端把点击后的按钮设置为不可点击,这样基本上能就能解决了。99.999999%能解决。前端这么弄过后,就没有遇到过需要后端弄的了。为了万无一失,剩下的不能解决的就需要后端做防重复点击的操作了。

2、解决方案

2.1、前端通过js让按钮点击后失效,基本上就够了。除非别人要搞你网站,直接扒你接口,放心,你的网站没有那么有价值。

2.2、数据库增加唯一索引,不建议改数据库,虽然方便。

2.3、利用令牌防止表单重复提交表单页面初始化时,会从后端获取一个生成一个token,这个token放在表单隐藏,当表单提交时一起提交,提交后后端使该token失效;后端判断前端提交的token为空或者失效则表单提交失败(发送token,验证token)这里需要前后端配合

2.4、使用Spring AOP自定义切入实现,作为后端,倾向于这种方式。一般接口提交时会有token验证,表明该请求是合法一个用户。后端可以通过 用户token+类+方法来判断是否是重复请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

期待奔跑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值