02.26 java后台接口怎么防止重复提交?

T.P.D.


1、Meta法在你的表单页里HEAD区加入这段代码:

2、令牌法生成一个令牌保存在用户session中,在form中加一个hidden域,显示该令牌的值,form提交后重新生成一个新的令牌,将用户提交的令牌和session中的令牌比较,如不同则为重复提交。

3、禁用按钮法


全球热点都知道


这个问题主要以前端解决为主,后端打配合的解决方案。

1.前端来讲可以采用同步提交,在后端接口返回成功之前禁止相应点击事件,提交后直接置灰按钮,待有效编辑后再使能按钮,这种方案最简单有效。

2.后端接口需要做幂等设计,比如重复删除已经删除的订单号,需要判空后接口返回正确即可,又如重复下单,可以看订单状态,如果没完成支付的同一商品,接口返回提示完成订单再下单。


hallojava


1。token机制,每次提交都会带上tonken,验证完删除。

2。如果业务上面不允许某些字段重复,可以在数据库表上设置加上唯一性约束。

3。利用redis缓存提交信息,可以设置几分钟过期时间,保存时验证表达信息是否存在。

4。前端提交后将按钮置为不可用。


分享到:


相關文章: