2012-04-09 55 views
1

我想知道當用戶爲不存在的電子郵件請求重置密碼時的最佳行爲。缺失帳戶的最佳密碼重置行爲

上下文:用戶沒有登錄。他們只是輸入一個電子郵件並點擊重置按鈕。

  1. 如果我立即告訴用戶請求重置帳戶不存在,這是一個安全漏洞和隱私問題。
  2. 如果我什麼都不做,這是一個無辜的錯誤(他們認爲他們有一個帳戶),他們會想知道發生了什麼。最神祕的選擇,最不受虐待。
  3. 我可以發送一封電子郵件,說密碼重置已被請求,但沒有帳戶(應該被忽略等等等等等等)。這似乎是最不有害的,但有點受到濫用。

更新:在進一步的考慮,我真的不這麼如何是一個大問題,因爲他們可以通過簡單地嘗試註冊/使用相同的電子郵件......除非得到相同的信息我失去了一些東西......

回答

0

就個人而言,我是一個球迷:

  • 用戶輸入一個電子郵件。
  • 無論電子郵件是否存在,都說已被請求,如果您很短時間內沒有收到電子郵件,請重試或聯繫我們。
  • 在電子郵件中,說明提交了密碼請求,如果不是用戶,則忽略電子郵件。

此外,

  • 如果你擔心機器人刮你的網站的電子郵件,添加一個驗證碼。
  • 如果您擔心人們盜用帳戶,請添加第二層,提示您提供祕密問題答案。
0

在我看來,第三個選項是用戶友好性和安全性之間的最佳折衷。選項1似乎是一個隱私問題。使用選項2,用戶無法知道他是否擁有帳戶,但是註冊了另一個電子郵件地址或重置系統無法工作。

2

我個人會去這樣:

  1. 用戶輸入E-mail地址。
  2. 屏幕顯示「請求將被處理,電子郵件已發送」或其他內容。
  3. 如果沒有與此電子郵件地址相關的帳戶:請勿發送郵件,但不要通知該男士請求。
  4. 如果有一個帳戶與此電子郵件鏈接:發送重置電子郵件,包括通常的「如果這不是你簡單地忽略這封郵件,如果你懷疑濫用,請聯繫$ foobar」-message。

這就是爲什麼我不會告訴任何人帳號是否與此電子郵件地址相關聯:隱私。如果你告訴每個人,每個人都可以檢查$ person是否使用$ service。

想象一下,我會包括爲什麼我不會發送郵件,如果沒有這樣的用戶:爲什麼我應該?用戶可能會知道他使用的是哪個電子郵件地址,或者一次嘗試多個電子郵件地址(或只等待很短的時間)。當然,有些情況下,如果有人發送這些郵件,它會更方便用戶,但它們不夠重要,不足以否定濫用潛力。 如果只有一個網站做這些事情(只要他們不會在短時間內發送多封郵件),那麼沒有太多的濫用潛力,但想象每個Web服務都是這樣。你只需要收集一些這些服務,然後通過電子郵件炸燬你所不喜歡的人,而不會觸及任何垃圾郵件過濾器!

0

我會做這樣的事情

  • 詢問用戶名或電子郵件
  • 如果該電子郵件或用戶名存在,發送的所有電子郵件的人,與重置密碼。

完成:)