搜尋

首頁  >  問答  >  主體

javascript - 註冊時同一個用戶註冊多回,資料庫中也出現多條一樣的數據,後台已經進行了校驗,前台js也限制了兩秒提交一次,但是還是會出現多條

註冊時同一個用戶註冊多回,資料庫中也出現多條一樣的數據,後台已經進行了校驗,前台js也限制了兩秒提交一次,但是還是會出現多條

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

全部回覆(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
  • 取消回覆