日期:2014-05-17  浏览次数:20756 次

如何做一个找回密码的功能
我想实现一个找回密码的功能。模仿skype的找回密码方式。
1.用户只要填写对注册时用的邮箱,就把一个临时密码发到他的邮箱里。
2.这个临时密码24小时有效。

邮件的什么的我会,但有以下两点不明白。
1.临时密码怎么弄
2.如何让发送的临时密码24小时失效呢?
不能把密码直接发给用户的,因为存入数据库是密码已经加密。

------解决方案--------------------
引用
以前做过认证程序。。你说的这种等于临时PIN认证形式。。。

简单点思路
你可以设计一个PIN的数据表。里面包含编号,用户id,PIN值,创建时间,过期时间
程序逻辑:
1. 配置文件配置一个OTP的生命周期。。
2. 点击找回密码,输入邮箱名,后台验证邮箱是否正确,正确则取出用户账户id,否则返回提示。
3. 验证该账户id是否有未过期的PIN,有则直接进行认证,没有则随机生成6位字符和数字组合一起存入PIN表并发送到邮箱。其中 过期时间=当前时间+配置的生命周期
4. 经过了前面三步,这里就可以确定用户一定有未过期的PIN码,所以此步直接认证PIN码
5. 认证成功,则提示用户设置新密码。。否则,继续认证。。

上述是一个最简单的实现。。