- 註冊
- 狀態判斷:若是是已登陸狀態(經過COOKIE驗證),該頁面跳轉至網站首頁;不然顯示該註冊頁面。
- 表單填寫:前端頁面一個Form,主要包括郵箱、密碼、重複密碼、驗證碼等。
- 前端判斷格式:經過JS正則表達式判斷郵箱是否符合郵箱格式、密碼是否符合必定長度和難度等。
- 判斷是否已註冊:AJAX判斷該郵箱是否已被註冊,若是是,則提示登陸;不然繼續。
- 表單提交:POST表單。
- 後臺判斷格式:防止前端JS被修改或者直接POST數據,須要後臺再次驗證數據格式。
- 插入數據庫:在表單各數據正確無誤的狀況下將新用戶的相關信息插入數據庫(密碼需加密處理,不能明文顯示),並返回新用戶的用戶ID等相關資料。
- 跳轉到登陸狀態:經過用戶ID等資料給用戶添加COOKIE保持其登陸狀態。
- 登陸
- 狀態判斷:若是是已登陸狀態,該頁面跳轉至網站首頁;不然顯示該登陸頁面。
- 表單填寫:前端一個Form,包括郵箱和密碼。
- 前端判斷格式:判斷郵箱是否符合郵箱格式、密碼是否符合長度等。
- 表單提交:POST表單。
- 後臺匹配:查找是否存在該用戶;匹配該用戶密碼;返回是否匹配。
- 頁面跳轉:匹配成功,則添加COOKIE保持登陸狀態;不然提示相關錯誤,並跳回登陸狀態。
1. 郵箱驗證
對於大部分使用郵箱做爲 id 登陸的網站,通常會發送一個驗證 URL 來驗證你是不是該郵件的主人(其實非必須),基本原理很簡單,在用戶表裏加入2個字段:一個隨機生成的驗證碼和一個驗證狀態。該驗證碼包含在郵箱發送的 URL 裏。
220 : 服務就緒
250 :請求郵件動做正確,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令執行成功會返回此信息)
235 :認證經過
221 :正在處理
354 :開始發送數據,結束以 .(DATA指令執行成功會返回此信息)
500 :語法錯誤,命令不能識別
550 :命令不能執行,郵箱無效
552 :中斷處理:用戶超出文件空間前端