发送找回密码邮件(个人笔记)

发送找回密码邮件这个功能,在别的网站上经常用到,乍看上去,好像 没什么难度的样子,但是我做的时候还是考虑了一些问题,因为见得少,所以主要 考虑的还是如果该链接泄露了咋办。

我用了3个字段去记录这个过程:

status: 0:正常状态; 1:密码重置中。

opTime: 发送重置邮件的时间。

ip: 记录请求操作时的用户ip。


1.当用户忘记密码时,需要输入在网站注册时的用户名和邮箱,提交后,后台判断该用户是否存在,如果存在,将status=1;同时记录当前时间和ip;向用户发送激活邮件,

url格式类似:http://demo.com/findpwd?v=userName&v2=time    (userName和time都是经过BASE64编码过)


2.用户登录邮箱,点击重置链接,网站后台将通过链接中的userName和time的值去进行判断。通过userName判断该用户是否存在,如果存在,查看该用户的status是不是1,然后对比三个时间,一个是数据库中的opTime,一个是系统当前时间,一个是url传过来的time,最后,对比当前用户ip和数据库中存储的ip是否相同,通过这三个条件,保证该链接没有被盗用。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值