一、找回密码方案的选择及注意:
1、注册时不采用 密码答案和问题 这个方案
2、注册时用户自己输入邮箱地址
3、注册时告诉用户这个邮箱用来 激活账户和找回密码
4、注册后通过邮箱激活账户
5、找回密码时通过邮箱找回
6、发送到邮件中的是 激活/重置密码 地址,而非密码
二、通过邮箱找回密码的步骤
1、用户提交重置密码的请求时
数据库中新增一条记录:用户_id、过期时间、签名
发送一个url到注册邮箱,url为 xxx?xxx=签名
2、用户打开邮箱中的url后
先解析签名赋值给sid
数据库中查找签名last,如没有则拒绝
判断过期时间,如超过则拒绝
跳转到重置密码的页面,传sid过去
3、用户重置密码后
读取提交上来的sid,后读取数据库得到 用户_id,再根据 用户_id 更新密码
如成功则删除数据库中 所有 用户_id 记录
另:每天shell轮询删除数据库中已过期的记录,通过判断过期时间
Last modified by vkill on2010/11/25 00:08
1、注册时不采用 密码答案和问题 这个方案
2、注册时用户自己输入邮箱地址
3、注册时告诉用户这个邮箱用来 激活账户和找回密码
4、注册后通过邮箱激活账户
5、找回密码时通过邮箱找回
6、发送到邮件中的是 激活/重置密码 地址,而非密码
二、通过邮箱找回密码的步骤
1、用户提交重置密码的请求时
数据库中新增一条记录:用户_id、过期时间、签名
发送一个url到注册邮箱,url为 xxx?xxx=签名
2、用户打开邮箱中的url后
先解析签名赋值给sid
数据库中查找签名last,如没有则拒绝
判断过期时间,如超过则拒绝
跳转到重置密码的页面,传sid过去
3、用户重置密码后
读取提交上来的sid,后读取数据库得到 用户_id,再根据 用户_id 更新密码
如成功则删除数据库中 所有 用户_id 记录
另:每天shell轮询删除数据库中已过期的记录,通过判断过期时间
Last modified by vkill on2010/11/25 00:08
网友评论(0):


