【问题标题】:password reset url in asp.netasp.net中的密码重置网址
【发布时间】:2011-11-24 15:33:14
【问题描述】:

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

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

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

我收到的示例 URL 是:

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

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

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

有什么想法吗?

【问题讨论】:

    标签: asp.net security


    【解决方案1】:

    该 URL 中的 expires 很可能是表中记录的 ID,它实际保存了链接到期的日期和时间。

    您也可以这样做:通过电子邮件发送链接并将链接、过期日期和时间以及身份列(自动生成)以及可能的其他一些信息(电子邮件等)存储在表格中。

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

    或者...该数字可能表示从特定日期和时间开始计算的以毫秒、滴答声、纳秒等为单位的日期和时间。

    【讨论】:

    • 是的,我认为您的想法可能都是正确的。你给出了一些关于它如何工作的想法,我想我会在创建它时在数据库中放置一个到期日期。谢谢。
    猜你喜欢
    • 2018-11-29
    • 1970-01-01
    • 2015-02-02
    • 2012-05-21
    • 2013-10-31
    • 2013-04-06
    • 2011-02-06
    • 2018-07-07
    相关资源
    最近更新 更多