我目前正在開發一個允許用戶使用密碼登錄的c#web應用程序。我需要包含的功能是忘記密碼功能。什麼是忘記密碼過程的最佳做法?
什麼是忘記密碼的推薦流程?
我正在考慮這個:
- 用戶點擊忘記密碼,請輸入電子郵件地址
- 電子郵件發送
- 點擊鏈接的電子郵件(鏈接只有一次有效時間內)
- 採取並要求輸入新的密碼(他們是否也應答安全問題?)
- 密碼更改,郵件發送給此類用戶
- 用戶現在可以用新密碼登錄
我目前正在開發一個允許用戶使用密碼登錄的c#web應用程序。我需要包含的功能是忘記密碼功能。什麼是忘記密碼過程的最佳做法?
什麼是忘記密碼的推薦流程?
我正在考慮這個:
你的點子看起來堅實,但我想補充一些其他方面的考慮:
我們有兩種方法來檢索忘記密碼: 1.通過註冊電子郵件ID 2.通過註冊的手機號碼
註冊的電子郵件ID:
一個。要求用戶提供註冊郵箱編號
b。系統檢查提供的電子郵件ID是否在數據庫中可用
c。如果電子郵件ID在數據庫中存在,系統將發送電子郵件以重置密碼,但如果電子郵件ID不在數據庫中,則系統會顯示警報消息。 d)。用戶必須在重置忘記密碼的同時提供強密碼。
e。密碼重置成功,並且相對於電子郵件ID也在數據庫中發生更改。
註冊手機號碼:
的過程與電子郵件,但是在這種情況下幾乎相同,OTP將在註冊手機號碼發送。 我們需要整合第三方SDK,或者我們可以在IOS中使用imessage。
這些都是很好的觀點,只有在x登錄失敗後鎖定賬戶的觀點值得商榷。我永遠不會鎖定一個帳戶,因爲登錄不良,只會延遲下一次可能的登錄來阻止暴力強制。用垃圾郵件向用戶發送垃圾郵件也不成問題,使用匿名電子郵件帳戶的普通電子郵件將垃圾郵件發送給他是很容易的。 – martinstoeckli