如何生成用于密码恢复的临时链接?

时间:2018-09-18 12:29:27

标签: url coldfusion token temporary password-recovery

我已经使用登录过程构建了一个新的单页应用程序。首先,我使用了一个安全性问题来恢复用户的密码。与管理员设置新帐户时使用的过程相同。系统根据输入的电子邮件地址自动生成一个临时密码,并将链接发送给用户。

然后,我看到了几则强烈推荐的文章,以避免通过电子邮件发送任何类型的密码。他们提出的替代解决方案是生成临时链接。为此,他们使用tokens。链接将具有url参数和令牌组合。该令牌与到期日期/标志一起保存在数据库表中。用户单击forgot password后,输入电子邮件地址,然后单击发送。这是an example of this method with PHP

首先,我用这些字段创建了表格。示例:

RecID   int
Email   varchar(80)
Salt    varchar(32)
Token   varchar(50)
Expires datetime

我不确定的一件事是PHP示例中的selector。我的猜测是,这与Salt类似,应该与hash()结合使用。我的问题是我是否应该将createUUID()与盐和令牌一起使用?这是an example from Raymond Camden

我很好奇什么是更好的选择以及方法。如果我为用户生成一个新帐户,我是否应发送24小时有效期的链接?然后,新用户可以创建密码。还是对此有更好的选择?上面的PHP提供的解决方案也有任何缺点吗?如果有人有任何建议或更好的例子,请告诉我。

0 个答案:

没有答案