學習MVC之租房網站(八)-前臺註冊和登錄

租房 Chrome HTML5 Firefox 菜鳥程序員成長記 2017-05-14

在上一篇<學習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

相關推薦

推薦中...