搜索

首页  >  问答  >  正文

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

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

世界只因有你世界只因有你2775 天前1003

全部回复(8)我来回复

  • 習慣沉默

    習慣沉默2017-06-30 09:54:16

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

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-30 09:54:16

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

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-30 09:54:16

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

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

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

    回复
    0
  • 天蓬老师

    天蓬老师2017-06-30 09:54:16

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

    回复
    0
  • 学习ing

    学习ing2017-06-30 09:54:16

    注册必须要做唯一验证

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-30 09:54:16

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

    回复
    0
  • 三叔

    三叔2017-06-30 09:54:16

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

    回复
    0
  • 世界只因有你

    世界只因有你2017-06-30 09:54:16

    参考我的文章Web项目如何防止客户端重复发送请求

    回复
    0
  • 取消回复