我想在我的Java Web應用程序中實現忘記密碼功能。我想實現這樣的:如何在數據庫記錄中「更新」更改密碼唯一代碼?
- 用戶輸入他們的帳戶的電子郵件地址,並按下「忘記密碼」按鈕
- 應用程序生成的字符和數字組成的獨特代碼,併發送一個鏈接與作爲參數傳遞給用戶的電子郵件地址
- 用戶點擊該鏈接,它們都帶有一種形式,他們可以輸入新密碼
我想要做的就是確保鏈接(即唯一代碼)「過期」的是什麼小時後用戶按下忘記密碼按鈕,以便如果攻擊者可以訪問他們的電子郵件帳戶,則該鏈接將無法工作,除非他們在第一個小時內獲得訪問權限。
我不知道如何使數據庫'過期'或清除用戶帳戶記錄的代碼。我怎麼能實現這個?
我發現最好存儲代碼的生成日期,因爲a)您可以輕鬆更改允許的時間,而無需更新數據庫中的現有數據,並且b)在測試期間,您可以通過更改模擬超時代碼中所允許的時間,而不是亂用數據庫中的數據。 – RedFilter 2010-04-16 15:50:05
@OrbMan,我同意a),我不認爲這個評論框允許我解釋爲什麼我不認爲b)適用。 – 2010-04-16 15:55:45
酷,很好的簡單的解決方案 - 現在感覺有點傻:) – JMM 2010-04-16 15:59:17