用户流程:
1.用户忘记密码,来到密码重设界面
2.用户输入Email地址,点击重设密码按钮
3.用户收到一封密码重设邮件,里面有重设密码的链接,此链接有过期时间
4.用户点击链接,来到密码重设页面,输入新密码,完成
这个流程并没有什么创新,很多网站都是用这套流程
后端实现方式:
1.当用户输入Email地址后,验证这个Email,如果存在于数据库,那么取得用户的user_id
2.将user_id和当前时间戳编码成HASH,需要提前准备好一个KEY,并且这个KEY只存在服务器上。 HASH = md5 ( user_id + timestamp + KEY )
3.生成一个URL,并且附带刚刚生成的HASH和用户id以及timestamp,比如 http://domain.com/reset-password.php?hash=HASH&user_id=123×tamp=1392121211
4.当用户访问这个URL, 检查HASH是否合法: HASH == MD5 ( user_id + timestamp + KEY)
5.检查 timestamp 是不是过期了
6.如果所有检查通过,那么显示一个新密码表单给用户
这种方式的好处:
1.不需要额外的数据表
2.不用担心参数被用户恶意修改,因为要检查hash是不是等于那几个参数的md5
3.密码重设URL自带时间戳
4.只要KEY设置的足够长足够复杂,那么可以认为HASH是绝对安全的
例
send-reset-email.php:
代码如下 | 复制代码 |
|
reset-password-form.php:
代码如下 | 复制代码 |
if ($hash == md5( $user_id . $timestamp . $KEY )) //validation passed if ($_POST['new_password']) '; } |
摩尔庄园 安卓官方版v2.9.24091002S
摩尔庄园很多小伙伴一定都在小时候玩过,但随着我们年龄的增长淡
梦幻庄园最新版 官方正版v1.0.0
梦幻庄园是一款非常好玩的模拟经营类游戏,玩家在游戏中有一个属
合并梦幻岛免内购版 v2.1.0
合并梦幻岛无限内购版是游戏的破解版本,在该版本中为玩家解锁了
无悔华夏魅族版 2025最新版v3.5.194
无悔华夏魅族版是一款超级好用的模拟经营游戏。在这里玩家们需要
月影别墅官方安装包2025版 安卓版v2.3.24
月影别墅官方安装包2025版是一款匠心独具的乙女向剧情游戏,