基于邮箱的密码找回的逻辑设计

摘要:密码找回

对于一个成熟的系统来说,密码找回是必不可少的。但是如果密码找回的逻辑没有处理好,很可能导致用户的密码被他人修改的风险。

一、获取用户邮箱。

通过一个页面实现邮箱的获取,可以通过添加一些加油噪音的数字验证码来防止非人为的代码攻击的操作。


二、验证邮箱的存在性,然后向邮箱发送一个激活邮件,邮件是一个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的验证消息,所以要转发过来。

四、修改密码

最后就是修改密码,此时记得将原先的验证消息再发一次,再验证一遍合法性,合法之后正常修改就好了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值