在上一篇<学习MVC之租房网站(七)-房源管理和配图上传>完成了在后台新增、编辑房源信息以及上传房源配图的功能。到此后台开发便告一段落了,开始实现前台的功能,也是从用户的登录、注册开始。
前台模板使用MUI,一套用于手机端的HTML5模板,但开发期间仍然使用Chrome、FireFox等PC浏览器。
一 注册
注册要求用户输入手机号密码等信息
a) 注册的处理过程为:用户输入手机号后,给手机发送验证码,用户提供收到的验证码以及密码、确认密码,随后便可以点击注册,在浏览器进行简单的有效性校验后,在服务器再次判断验证码是否正确、两次密码是否一致等,这些都通过后便像数据库添加注册用户数据。
b) 短信验证码为付费服务,但有些短信运营商会为新用户提供免费试用,机制如杨老师更是为我们提供了模拟短信接口,用法与短信运营商类似,设置短信模板和模板ID后,就可以使用特定ID的模板来发送了。
c) 为了防止被利用来滥发短信,每次发送短信验证码前用户要输入图形验证码,图形验证码保存在TempData中,而且每次输入错误,都应强制刷新。
d) 注册流程中有个漏洞需要防范:用户通过了短信验证后,如果随意更改了注册手机号,也是可以注册成功的!这就需要增加验证发送验证码的手机号与注重提交注册的手机号是否一致的判断。
二 登录
对登录设置了输入密码错误次数限制,超过了限定次数会在一段时间内不再受理该用户的登录请求,从安全角度来说,这可以避免被撞库。
三 修改密码
a) 乍一想挺简单的修改密码功能,实际做起来竟然用了四组Action
第一步,让用户输入手机号和图形验证码,如果图形验证码正确,发送短信验证码
第二步,如果短信验证码正确,返回修改密码视图,让用户输入两次新密码
第三步,如果两次新密码一致,更新数据库保存的密码
最后,提示修改成功
b) 这儿也要注意防范一个漏洞:用户可能绕过第二步的短信验证码校验,直接请求第三步的视图,比如在地址栏输入……/User/ForgetPassword3,这样前面的图形验证码、短信验证码就成了摆设,所以在第三步需要判断第二步的短信验证码是否通过。
注:
课程内容来自如鹏网(www.rupeng.com),专注于大学生就业的在线教育平台;
ASP.NET MVC课程 http://www.rupeng.com/News/9/640.shtml