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

Mr修远 2014-08-25 03:16:27
怎么设计忘记密码功能比较好呢?
比如 我的流程是这样的
1、输入账号
2、选择验证方式
3、发送邮件或者手机验证码
4、修改密码
5、修改密码成功

但是如何拦截用户跳过前几步,直接跳到第4步呢?
求指导
...全文
278 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼 2014-08-26
  • 打赏
  • 举报
回复
引用 7 楼 k_769915435 的回复:
[quote=引用 6 楼 hemowolf 的回复:] 第一、二、三步的信息保存到 session 当中,第四步时检查session中的数据是否还在,如果不在就是绕行的,或者太长时间没有操作
目前看来也只能这样,我用的threadlocal维护一个数组来判断是否跳过某一步,但是一直碰到不同步的问题,算了,还是笨点来吧[/quote] ThreadLocal 不行,可能会出问题 服务端的线程池是共享的,你不能假设每次从 ThreadLocal 里取到的数据一定是属于同一个客户端的。这在开发时测试可能测不出来,但如果在真实环境里,客户端的数量远大于线程池的数量时,就很明显了。 所以,建议你还是用 session
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
引用 8 楼 zhouren1314 的回复:
THreadLOcal实现不了吧,难道你这几步全在一个线程中?
对对,不是一个线程。
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
引用 9 楼 zhouren1314 的回复:
感觉让第三步的时候,生成一个UUID 传到第四步,另外把这个UUID放在session中,第四步的时候,判断session中的和第四步的是否一样或者是空(没有经过第三步),就可以了,这样不仅防止了重复提交,也可以判断是不是经过了 第三步(如果判断的细一点的话,每一步都生成UUID传给下一步,在放进session,到下一步的时候,判断一下), 第四步修改密码用不到 前面前三部的数据,还是不建议把前几步的数据存进session中。。
恩,先这样弄吧
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
引用 10 楼 lgc8023 的回复:
你验证成功之后数据库里不记录一下吗,比如改个标识,第四步进行时你必须先去数据库查询一下,这几步肯定是联系起来的啊,修改完之后你再重置一下数据库状态
没用数据库
lgc8023 2014-08-25
  • 打赏
  • 举报
回复
你验证成功之后数据库里不记录一下吗,比如改个标识,第四步进行时你必须先去数据库查询一下,这几步肯定是联系起来的啊,修改完之后你再重置一下数据库状态
乔不思 2014-08-25
  • 打赏
  • 举报
回复
感觉让第三步的时候,生成一个UUID 传到第四步,另外把这个UUID放在session中,第四步的时候,判断session中的和第四步的是否一样或者是空(没有经过第三步),就可以了,这样不仅防止了重复提交,也可以判断是不是经过了 第三步(如果判断的细一点的话,每一步都生成UUID传给下一步,在放进session,到下一步的时候,判断一下), 第四步修改密码用不到 前面前三部的数据,还是不建议把前几步的数据存进session中。。
乔不思 2014-08-25
  • 打赏
  • 举报
回复
THreadLOcal实现不了吧,难道你这几步全在一个线程中?
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
引用 6 楼 hemowolf 的回复:
第一、二、三步的信息保存到 session 当中,第四步时检查session中的数据是否还在,如果不在就是绕行的,或者太长时间没有操作
目前看来也只能这样,我用的threadlocal维护一个数组来判断是否跳过某一步,但是一直碰到不同步的问题,算了,还是笨点来吧
小灰狼 2014-08-25
  • 打赏
  • 举报
回复
第一、二、三步的信息保存到 session 当中,第四步时检查session中的数据是否还在,如果不在就是绕行的,或者太长时间没有操作
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
自己顶一下
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
引用 2 楼 wlwlwlwl015 的回复:
根据URL拦截请求?你没有写过滤器或者拦截器之类的吗~
具体点,可以吗。。。
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
引用 2 楼 wlwlwlwl015 的回复:
根据URL拦截请求?你没有写过滤器或者拦截器之类的吗~
肯定写过啊。。。
小灯光环 2014-08-25
  • 打赏
  • 举报
回复
根据URL拦截请求?你没有写过滤器或者拦截器之类的吗~
Mr修远 2014-08-25
  • 打赏
  • 举报
回复
自己顶一个

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧