2016-06-13 81 views
1

我在我的網站上構建了一個新的被遺忘的功能,用戶在其中輸入用戶名或電子郵件,然後發送一個鏈接重置密碼。當嘗試重置密碼時,我應該向輸入無效用戶名的用戶顯示什麼信息?

如果他們輸入的電子郵件沒有註冊到我係統中的帳戶,我不會在瀏覽器中告訴他們。瀏覽器消息將與成功重置相同(「有更多說明的消息已發送至該電子郵件地址」),並且他們發送的電子郵件將會顯示類似「此電子郵件未在任何帳戶中註冊」且沒有重置鏈接。

如果他們輸入的用戶名沒有在我的系統中註冊,我該怎麼辦?好像我有兩個選擇:

  1. 顯示在瀏覽器中的錯誤(「此用戶名無法識別」)
  2. 顯示在瀏覽器

問題成功消息#2他們會期待一封永遠不會發送的電子郵件,因爲我沒有與用戶名相匹配的電子郵件(因爲用戶名不存在)。這似乎是不受歡迎的行爲,但我也擔心#1不利於數據保護的原因。

回答

1

如果你重置一個電子郵件地址(這是敏感數據)的口令,我會建議說,像

如果您輸入的電子郵件地址是在我們的數據庫中,我們會發送密碼恢復鏈接到它。

但是,您使用的用戶名重置密碼,並且用戶名不是敏感數據,所以選項1應該沒問題。

但唯一的問題是,你可能不應該用用戶名重置密碼,因爲垃圾郵件製造者可以把它們帶到自己的優勢。假設用戶名在您的網站上公開,那麼垃圾郵件發送者只需在您的網站上向帳戶發送密碼恢復電子郵件。所以,我建議您需要用於註冊密碼恢復帳戶的電子郵件地址。

+0

關於用戶名的好評。 – martinstoeckli

+0

@martinstoeckli謝謝 – Tobsta

+0

您對垃圾郵件發送者有何意義?通過向我的所有用戶發送密碼恢復電子郵件,他們獲得了什麼? – Sam

0

所以#2應該排除,因爲它實際上是不正確的信息。

#1真的是選擇。例如,轉到gmail或微軟的outlook登錄名,並輸入一些不可能的賬戶名稱,兩者都會告訴你它無法識別電子郵件。另外,您還有哪些信息與第一名給出?如果具有該用戶名的帳戶存在。你可以很容易地得到這個信息,試圖用目標用戶名來建立一個帳戶。

我認爲你對#1方法很好。

0

我會建議,以顯示消息,你已經做了:

密碼重置鏈接發送到的電子郵件地址 「[email protected]」。

此外,我會提供的情況下幫助用戶沒有得到電子郵件:

如果你沒有得到幾分鐘的電子郵件,請檢查是否 鑽進垃圾郵件文件夾,並確保它是您註冊的電子郵件地址 。如需更多幫助,請聯繫我們的support

有了這個消息你不僅隱瞞郵件是否被註冊(這可能是對某些網站重要的),甚至更多:

  1. 用戶可以看到他努力了,什麼電子郵件地址,所以他可以檢查這是否是正確的,並嘗試另一個。
  2. 如果用戶不記得正確的電子郵件地址,他仍然需要支持,所以在那裏提供一個鏈接。
  3. 該消息措辭正確,我們並不意味着用戶犯了錯誤或想要濫用系統。

編輯: 我忽略了你正在使用用戶名而不是電子郵件。如果他們可以自由選擇用戶必須輸入用戶名而不是電子郵件,我沒有理由保持存在的祕密。儘管用戶名比電子郵件地址更難記住。

相關問題