表单提交别只加个按钮,用户连续点十几次,后台收到十几条重复内容删都删不完
新手做留言板、订单提交功能,用户网络卡,点了一次提交按钮没反应,连续点十几次,后台一下收到十几条重复留言,甚至重复扣钱。防重复提交的几个要点:第一,点提交按钮之后,按钮立刻变成灰色不可点状态,前端先挡住,用户想点第二次也点不了;第二,后端给表单生成一个一次性token,提交一次之后,这个token直接作废,就算用户点十几次,只有第一次的token有效,后面的重复请求直接拦截;第三,同一个IP,短时间内连续提交相同内容,直接拦截,比如一分钟内同一个IP提交三次一样的留言,直接拒绝;第四,数据库里给唯一字段加唯一索引,比如同一订单号、同一留言内容加唯一约束,就算前面的拦截都漏了,数据库层面也不会存重复数据。
我之前的留言板,用户点提交卡了,连续点了十次,后台一下收到十几条一样的咨询,删都删不完,加了按钮置灰和一次性token之后,再也没出现过重复提交。很多新手觉得提交就是用户点一次就完,用户网络不好、觉得没点上,反复点是常态,前端加按钮置灰、后端加一次性校验,几分钟就能做完,省下来的审核时间能多写好多内容。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0