天天看點

學習MVC之租房網站(八)- 前台注冊和登入

在上一篇<學習MVC之租房網站(七)-房源管理和配圖上傳>完成了在背景新增、編輯房源資訊以及上傳房源配圖的功能。到此背景開發便告一段落了,開始實作前台的功能,也是從使用者的登入、注冊開始。

前台模闆使用MUI,一套用于手機端的HTML5模闆,但開發期間仍然使用Chrome、FireFox等PC浏覽器。

一 注冊

注冊要求使用者輸入手機号密碼等資訊

學習MVC之租房網站(八)- 前台注冊和登入

a) 注冊的處理過程為:使用者輸入手機号後,給手機發送驗證碼,使用者提供收到的驗證碼以及密碼、确認密碼,随後便可以點選注冊,在浏覽器進行簡單的有效性校驗後,在伺服器再次判斷驗證碼是否正确、兩次密碼是否一緻等,這些都通過後便像資料庫添加注冊使用者資料。

b) 短信驗證碼為付費服務,但有些短信營運商會為新使用者提供免費試用,機制如楊老師更是為我們提供了模拟短信接口,用法與短信營運商類似,設定短信模闆和模闆ID後,就可以使用特定ID的模闆來發送了。

c) 為了防止被利用來濫發短信,每次發送短信驗證碼前使用者要輸入圖形驗證碼,圖形驗證碼儲存在TempData中,而且每次輸入錯誤,都應強制重新整理。

d) 注冊流程中有個漏洞需要防範:使用者通過了短信驗證後,如果随意更改了注冊手機号,也是可以注冊成功的!這就需要增加驗證發送驗證碼的手機号與注重送出注冊的手機号是否一緻的判斷。

二 登入

對登入設定了輸入密碼錯誤次數限制,超過了限定次數會在一段時間内不再受理該使用者的登入請求,從安全角度來說,這可以避免被撞庫。

三 修改密碼

a) 乍一想挺簡單的修改密碼功能,實際做起來竟然用了四組Action

學習MVC之租房網站(八)- 前台注冊和登入

第一步,讓使用者輸入手機号和圖形驗證碼,如果圖形驗證碼正确,發送短信驗證碼

第二步,如果短信驗證碼正确,傳回修改密碼視圖,讓使用者輸入兩次新密碼

第三步,如果兩次新密碼一緻,更新資料庫儲存的密碼

最後,提示修改成功

b) 這兒也要注意防範一個漏洞:使用者可能繞過第二步的短信驗證碼校驗,直接請求第三步的視圖,比如在位址欄輸入……/User/ForgetPassword3,這樣前面的圖形驗證碼、短信驗證碼就成了擺設,是以在第三步需要判斷第二步的短信驗證碼是否通過。

注:

課程内容來自如鵬網(www.rupeng.com),專注于大學生就業的線上教育平台;

ASP.NET MVC課程 http://www.rupeng.com/News/9/640.shtml

繼續閱讀