web-dev-qa-db-ja.com

パスワードをリセットし、メールが存在しない場合の適切な応答?

ログインフォームで、ユーザーが「パスワードが正しくない」ではなく、アカウントの詳細を誤って入力すると、「メールまたはパスワードが正しくない」と表示されることがよくあります。これは、他にも理由がありますが、電子メールが実際にそのサイトに登録されていることをユーザーに通知するのはセキュリティの脆弱性だからです。 この質問 でそれについて読むことができます。

ただし、「パスワードを忘れた」リセットページの場合、ユーザーが電子メールを入力して新しいパスワードを送信するための入力のみがあります。このメールが私のサイトに登録されておらず、「申し訳ありませんが、このメールは無効です。アクティブなアカウント。

この潜在的に危険な情報を漏らさないようにする方法はありますか?

通常のユーザーエクスペリエンスを妨げるものではないので、メールを送信する試行回数を制限することしか考えられません。

7
DasBeasto

これを実装する最も簡単な方法は、

If a matching account was found an email was sent to [email protected] to allow you to reset your password.

最近いくつかのサイトでこれを見たことがありますが、現時点ではすべて私から逃れています。この問題を回避する優れた方法として、私は感銘を受けました。

意図したメールアカウントを入力したかどうかを確認し、アカウントを持っている場合はいつでもメールを受信します。

11
Doyle Lewis

セキュリティの質問(1つまたは2つ)を「パスワードを忘れた」プロセスに実装できます。これは、基本的にパスワードを取得/リセットするためのパスワードとして機能します。したがって、入力された電子メールアドレスと回答されたセキュリティの質問の両方がすべて一致し、ユーザーが正当であることを検証する必要があります。

0
dmoz