在asp.net中密码重置URL

时间:2011-09-25 13:59:24

标签: asp.net security

如果忘记密码,我希望向用户发送链接。

我知道他们输入了他们的电子邮件地址,并向他们发送了一封电子邮件,其中包含重置密码的链接 - 虽然我希望此链接在两天后过期。

查看我从在线商店发送的密码重置电子邮件,我希望保持一般的格式相同,但我不清楚如何创建URL的到期部分。

我发送的示例网址是:

http://www.mydomain.com/reset.aspx?expires=1317124368&passwordreset=1&username=thegunner%40yahoo.com&authCode=dfb83e3074d395a7606bdc1825d709197fa984ab

passwordreset = 1 ...好吧没问题 用户名=电子邮件地址...没有概率 authcode ...我想我可以生成GUID代码。

expires = 1317124368 ...这个部分怎么可能被创建?我想这是电子邮件发送当天的某种格式的时间戳 - 我怎么能重新创建这个?

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

该网址中的expires很可能是表中实际保存链接过期日期和时间的记录的ID。

您可以这样做:通过电子邮件发送链接并在表中存储链接,到期日期和时间以及标识列(自动生成),以及可能的其他信息(电子邮件等)。

当用户点击您的链接时,您使用该ID来获取到期日期和时间,以确定是否允许此人使用相同的链接。

或者......该数字可以表示以毫秒,刻度,纳秒等为单位的日期和时间,从特定日期和时间开始计算。