当前位置: 代码迷 >> Java Web开发 >> 忘记密码功能,怎么拦截用户跳过前边的验证,直接修改密码呢
  详细解决方案

忘记密码功能,怎么拦截用户跳过前边的验证,直接修改密码呢

热度:117   发布时间:2016-04-16 21:59:08.0
忘记密码功能,如何拦截用户跳过前边的验证,直接修改密码呢
怎么设计忘记密码功能比较好呢?
比如 我的流程是这样的
1、输入账号
2、选择验证方式
3、发送邮件或者手机验证码
4、修改密码
5、修改密码成功

但是如何拦截用户跳过前几步,直接跳到第4步呢?
求指导
------解决方案--------------------
第一、二、三步的信息保存到 session 当中,第四步时检查session中的数据是否还在,如果不在就是绕行的,或者太长时间没有操作
------解决方案--------------------
THreadLOcal实现不了吧,难道你这几步全在一个线程中?  
------解决方案--------------------
感觉让第三步的时候,生成一个UUID 传到第四步,另外把这个UUID放在session中,第四步的时候,判断session中的和第四步的是否一样或者是空(没有经过第三步),就可以了,这样不仅防止了重复提交,也可以判断是不是经过了 第三步(如果判断的细一点的话,每一步都生成UUID传给下一步,在放进session,到下一步的时候,判断一下),

第四步修改密码用不到 前面前三部的数据,还是不建议把前几步的数据存进session中。。   
------解决方案--------------------
你验证成功之后数据库里不记录一下吗,比如改个标识,第四步进行时你必须先去数据库查询一下,这几步肯定是联系起来的啊,修改完之后你再重置一下数据库状态
  相关解决方案