表单提交别只加个按钮,用户连续点十几次,后台收到十几条重复内容删都删不完

9年前 (2017-11-09)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

新手做留言板、订单提交功能,用户网络卡,点了一次提交按钮没反应,连续点十几次,后台一下收到十几条重复留言,甚至重复扣钱。防重复提交的几个要点:第一,点提交按钮之后,按钮立刻变成灰色不可点状态,前端先挡住,用户想点第二次也点不了;第二,后端给表单生成一个一次性token,提交一次之后,这个token直接作废,就算用户点十几次,只有第一次的token有效,后面的重复请求直接拦截;第三,同一个IP,短时间内连续提交相同内容,直接拦截,比如一分钟内同一个IP提交三次一样的留言,直接拒绝;第四,数据库里给唯一字段加唯一索引,比如同一订单号、同一留言内容加唯一约束,就算前面的拦截都漏了,数据库层面也不会存重复数据。

我之前的留言板,用户点提交卡了,连续点了十次,后台一下收到十几条一样的咨询,删都删不完,加了按钮置灰和一次性token之后,再也没出现过重复提交。很多新手觉得提交就是用户点一次就完,用户网络不好、觉得没点上,反复点是常态,前端加按钮置灰、后端加一次性校验,几分钟就能做完,省下来的审核时间能多写好多内容。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/3452.html

0
回帖

表单提交别只加个按钮,用户连续点十几次,后台收到十几条重复内容删都删不完 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息