對於一個註冊功能,用戶填寫基本資料提交後,但是並沒有完成驗證,那麼在提交資料後,和驗證之間的這段時間內,資料一般放在那兒,客戶端或則服務端Session ,或者資料庫零時表中。
阿神2017-07-05 11:10:43
註冊驗證問題已解決,此處是使用郵箱驗證。
步驟如下:
為用戶表增加兩個字段,hash,active.
為資料庫建構一個儲存過程,或者其它程序,用於定期掃描使用者表,計算未啟動的帳戶資訊提交時間,超過固定時長的帳戶,將帳戶資訊刪除。 hash欄位用於儲存為每個使用者產生的一段hash值,用於郵箱驗證時,使用hash值找到對應使用者。
active儲存兩個值,0,1.0代表帳戶為激活,1代表帳戶已經啟動
用戶完成基本資訊填寫後,進行提交操作,然後為用戶產生hash值,將用戶資料存入用戶表中,並將active欄位置為0
儲存資訊後,建構一個連接,將上一個步驟產生的hash值作為連結的參數,傳送到使用者的郵箱。
用戶完成驗證後,將hash值傳到服務端,服務端根據hash值找到對應的用戶,然後將用戶的active字段置為1,如果未找到,提示用戶信息過期,重新填寫信息註冊