为了账号安全,请及时绑定邮箱和手机立即绑定

注册时同一个用户注册多回,数据库中也出现多条一样的数据,后台已经进行了校验,前台js也限制了两秒提交一次,但是还是会出现多条

注册时同一个用户注册多回,数据库中也出现多条一样的数据,后台已经进行了校验,前台js也限制了两秒提交一次,但是还是会出现多条

素胚勾勒不出你 2019-03-01 10:52:37
注册时同一个用户注册多回,数据库中也出现多条一样的数据,后台已经进行了校验,前台js也限制了两秒提交一次,但是还是会出现多条
查看完整描述

13 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

数据库加用户名主键唯一验证呀

查看完整回答
反对 回复 2019-03-01
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

解决方案:

1、前端按钮触发后禁用, 直到服务器返回数据

2、数据库添加主键唯一检验

查看完整回答
反对 回复 2019-03-01
?
开满天机

TA贡献1786条经验 获得超13个赞

前端可以在进入页面的时候设置注册按钮可以点击,在点击发送注册请求的时候先把注册按钮设置成不可点击,等请求回来假设注册失败,则把按钮再设置成可以点击。

查看完整回答
反对 回复 2019-03-01
?
弑天下

TA贡献1818条经验 获得超8个赞

数据库中用唯一索引作限制

查看完整回答
反对 回复 2019-03-01
?
FFIVE

TA贡献1797条经验 获得超6个赞

不知道你是用debouce还是throttle限制两秒提交的

比较好的做法是点击注册把按钮禁用掉,等请求返回再在回调函数启用按钮,记得报错的回调也要启用注册按钮

后端数据库字段也要做唯一索引

查看完整回答
反对 回复 2019-03-01
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

服务端校验需要作唯一性的判断;前端按钮点击后禁止点击,等待服务端返回后解除禁止点击,或者通过超时方式来实现

查看完整回答
反对 回复 2019-03-01
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

前端禁用按钮的方案虽然也是必需的,但是这个仅仅只是避免普通用户多次点击而已,不能阻止非浏览器的‘用户’
不管服务器接受了多少次重复的请求,必须后端进行处理
目的是同一个用户只能注册一次,参考其他回答,主键

查看完整回答
反对 回复 2019-03-01
?
慕森卡

TA贡献1806条经验 获得超8个赞

查看完整回答
反对 回复 2019-03-01
?
动漫人物

TA贡献1815条经验 获得超10个赞

数据库用户名字段做唯一限制,后端逻辑做防重复提交并且校验用户名是否存在,前端页面做防重复提交。

查看完整回答
反对 回复 2019-03-01
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

重复发送请求和同名重新录入是两个问题,后者更有可能是做后台校检时做判断的部分出现了问题
可能是(1)判断的时机不对(2)比较的后台参数不对(3)没有完成对后台相关数据的遍历(4)没有对两边的数据做正确的格式化处理,使得两边根本就无法相等

查看完整回答
反对 回复 2019-03-01
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

你这问题 你确定前端控制有效? 你确定后端控制有效? 都有效果的话 根本不可能出现这种情况

查看完整回答
反对 回复 2019-03-01
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

1,并发控制
2,数据库表中账号加约束
3,注册时做账号唯一性校验
4,检查一下你的2s控制,或点击注册后可禁用按钮

查看完整回答
反对 回复 2019-03-01
  • 13 回答
  • 0 关注
  • 788 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信