2011-09-25 50 views
0

我正在尋找發送用戶鏈接,如果他們忘記了他們的密碼。asp.net中的密碼重置url

我知道他們輸入他們的電子郵件地址,並通過一個鏈接重新發送密碼給他們發送電子郵件 - 儘管我希望此鏈接在兩天內過期。

看着密碼重置電子郵件我從一家網上商店發送,我一直在尋找保持它通常相同的格式,但我不清楚如何創建URL的到期部分。

我被罰的例子網址是:

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

passwordreset = 1 ...否概率 用戶名=電子郵件地址...沒有概率 AUTHCODE ...我想我可以只生成GUID碼。

expires = 1317124368 ...這部分怎麼會被創建?我猜這是郵件發送當天某種格式的時間戳 - 我怎麼能重新創建這個郵件?

任何想法?

回答

1

該URL中的expires很可能是表中記錄的實際上包含鏈接到期日期和時間的記錄的ID。

你可以這樣做:通過電子郵件發送鏈接,並在表格中存儲鏈接,鏈接的日期和時間以及標識列(自動生成)以及可能的其他信息(電子郵件等)。

當用戶點擊您的鏈接時,您使用該ID來獲取到期日期和時間,以確定是否允許該人使用相同的鏈接。

或...該數字可能代表從特定日期和時間開始計算的以毫秒,滴答,納秒等爲單位的日期和時間。

+0

是的,我認爲你的想法可能都是正確的。你給出了一些關於如何工作的想法,我想我會在創建它時在數據庫中放置一個到期日期。謝謝。 – thegunner