基于邮箱的密码找回的逻辑设计
2018-06-11 23:07
204 查看
摘要:密码找回
对于一个成熟的系统来说,密码找回是必不可少的。但是如果密码找回的逻辑没有处理好,很可能导致用户的密码被他人修改的风险。
一、获取用户邮箱。
通过一个页面实现邮箱的获取,可以通过添加一些加油噪音的数字验证码来防止非人为的代码攻击的操作。
二、验证邮箱的存在性,然后向邮箱发送一个激活邮件,邮件是一个URL请求。
下面给出一个例子仅供参考:
http://localhost:8080/test/mail.do?act=find_password&usr=baowei&key=1526993524781
请求的核心是包含验证消息一段hash散列,也就是key的值,这个值应该要包含用户的基本信息以及日期信息,这样可以保证验证的正确性,同时保证验证有时间限制,用户不可以通过这一个URL重复修改密码,也就防止了别人通过这个URL修改别人信息。为了防止别人可以伪造key值,所以一般将key值的原信息加密hash的方式得到一个不可逆的值。
三、点击URL的时候转发到修改页面
此处使用的是转发(forward)而不是重定向,因为重定向之后相当于直接定位到这个页面上,和之前的URL请求没有关系了。而我们因为还需要之前URL的验证消息,所以要转发过来。
四、修改密码
最后就是修改密码,此时记得将原先的验证消息再发一次,再验证一遍合法性,合法之后正常修改就好了。
阅读更多相关文章推荐
- 账号通过邮箱找回密码功能设计
- 账号通过邮箱找回密码功能设计
- 找回密码token设计
- .net邮箱找回密码
- “忘记密码”的找回流程设计
- java web激活邮箱并找回密码
- JAVA实现通过绑定邮箱找回密码功能
- YII的邮箱验证找回密码
- 逻辑漏洞-密码找回之验证码发给了客户端
- AspNetCore-MVC实战系列(二)之通过绑定邮箱找回密码
- 精心设计的基于组件的C# Win Forms实践 一个框架数据库驱动多个业务逻辑数据库
- 找回密码功能设计
- 找回foxmail下的邮箱密码
- 通过邮箱找回密码
- 关于通过邮箱找回密码的实现
- 密码找回逻辑漏洞总结(转)
- Android逆向-记录某密码管理APP的设计逻辑
- Android设计登录界面、找回密码、注册功能
- 注册/找回密码等功能中发送手机验证码后倒计时效果的实现(基于vue)
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版