web-dev-qa-db-ja.com

ユーザーのログインメールが変更された場合、どうなりますか?

システムのオンラインフロントエンドを作成しています。このシステムは通常、顧客にサービスを提供する企業によって使用されます。顧客は、ビジネスで実際の人と直接取引することに加えて、このオンラインフロントエンドを使用するオプションがあります。

これで、ユーザーはメールアドレスをユーザー名として使用してオンラインフロントエンドにログインします。このメールアドレスは、ビジネスによってアカウントに関連付けられています。ユーザーはいつでも、ビジネスとの直接通信を介してこの電子メールアドレスを変更できます。ユーザーがメールアドレスを変更した場合、どうなりますか?

明らかに、新しいメールアドレスはユーザーをシームレスにログインする必要があります。ユーザーがログインしようとすると、古いメールアドレスはどうなりますか?

  • 「無効なメール」エラーは発生しますか?
  • 新しいメールアドレスを使用してログインするようにユーザーに要求しますか?
  • ユーザーに古いアドレスを使用してログインすることを許可しますが、切り替えを要求する目立つオプションをフロントエンドに表示しますか?

怠惰なプログラマーとして、私は2番目のオプションに傾いています。たぶん3番目のオプションがより使いやすいですか?プログラムとユーザーがアカウントについてどのように考えなければならないかの両方において、さらに複雑なレイヤーが追加されるようです。

12
James

「無効なメール」エラーをスローする必要があります。これは最も透過的であり、発生したことを正確に伝達し、ユーザーはそのフィードバックに基づいて動作をすぐに調整でき、同じメッセージが再び表示される可能性は低くなります。他のオプションが良い考えではない理由を概説しましょう:

  • 新しいアドレスでログインするように促すのは、セキュリティ対策パターンです。古いメールアドレスを知っている場合は、サービスXを使用していることがわかっているため、新しいメールアドレスが何であるかを知ることができます。これは、特に出会い系サイトやソーシャルネットワークなど、プライバシーの問題になる可能性があります。 (編集:これは、実際に新しい電子メールアドレスを表示する場合にのみ問題になります。箇条書きを誤って読んで、それがあなたの言っていることだと思いました。要点はまだ残っています:)

  • ユーザーが自分のメールアドレスを変更している理由がわからないため、そのメールアドレスをこのアカウントにロックし続けるのは危険です。以前のメールホストでアカウントをキャンセルし、そのアドレスがサービスにアクセスする可能性のある他のユーザーによって使用されていることはご存じのとおりです(可能性は低いですが、理論的には!)。

「無効なメール」警告を実装すると、信頼できる低価格の友人であるコピーライティングを使用して、少し親しみやすいものにすることができます。

入力したメールアドレスまたはパスワードは無効です。 [...]ログインに使用するメールアドレスを変更した可能性がありますか?

ログインに使用されているメールアドレスを要求する機能を提供することもできます。上記のアンチパターンに終わらないようにするには、ユーザーが自分のoldメールアドレスを入力してから、「ログインに使用しているファイルに登録されているアドレスにメールを送信しました」というメッセージを表示します。その後、ユーザーは、送信したメールから関連付けによって、使用しているメールアドレスを思い出すことができます。もちろん、ユーザーが過去のメールアドレスのログを保持していることを気にしないことを再確認する必要があります。

上記のすべては、使いやすさの点で、ほとんどの消費者向けWebサイトが実装するものをかなり超えています。通常、メールアドレスの変更は恒久的な変更であり、変更を行ったことを忘れた場合、修正する方法はありません。たとえば、Googleアカウントを考えてみてください。そこでメールアドレスを変更して、忘れてください。電話番号を登録する以外に、テキストメッセージを送信できるという非常に大きな問題があります。

編集:明らかに最良の解決策は、1つ目と2つ目のポイントの組み合わせです。この回答を書く前に完全に読んでいませんでした。しかし、答えのほとんどはまだ理にかなっています。

12
Rahul

セキュリティと使いやすさの関係で、入力された電子メールとパスワードのどちらであるかをシステムが示さない理由は、「無効な電子メール」と言うことで、逆にハッカーに特定の電子メールであることを知らせるためです- する動作するある存在する.

したがって、「無効なメール」とは言いません。「メールまたはパスワードが認識されませんでした」と言います。

17
Julian H

電子メールアドレスが一意のIDとして使用されている場合、システムは元の電子メールを忘れており、新しい電子メールに関連付けられているはずです。だから私はエラーを期待します。おそらくメッセージは、彼らが自分のメールアドレスを変更した可能性があることを示唆している可能性があります。

何をするにしても、「このアカウントのメールアドレスは[新しいメール]に変更されました。これが正しくない場合は、[この変更に異議を唱えるためのリンク]。」

Appleはそれをしていません。誰かがあなたのiTunesアカウントをハッキングしてメールアドレスを変更すると、それはうんざりです。

5
DA01

この質問は、実際にはユーザーを識別する一意の文字列に当てはまる場合、Wordの「電子メールアドレス」を使用するため、少し誤解を招く可能性があります。機密情報を間違った可能性のあるメールアドレスに送信することに関しては、別の懸念があります。それらについては触れません。

「ユーザー識別文字列が変更された」問題に関して、私が作業しているWebサイトは、次のように機能するソリューションを実装しています。

  • ユーザーIDが変更されても、古いIDは一定期間予約されます。
  • ユーザーが新しいIDでログインすると、古いIDは解放され、後で別のユーザーが再利用できます。
  • ユーザーが古いIDでログインした場合、システムはユーザーのIDが変更されたことと新しいIDが何であるかを示すページを表示します。 IDは単なる名前であり、パスワードが必要であるため、これは安全であると見なされます。おそらくユーザーだけが自分のパスワードを知っています。
  • 「ユーザー名が変更されました」ページには、ユーザーをサイトに移動させるリンクがあります。そのリンクをクリックすると、古いIDが解放されます。以前のIDでログインしようとすると、失敗します。

セキュリティ上の理由でユーザーがIDを変更している場合、ユーザーが実際に行うべきことは、パスワードを変更することです。この場合、IDは既知のユーザー名であるため、セキュリティ上の目的で変更してもメリットはありません。

メールが正しいアドレスに送信されていることを確認する必要がある場合は、メールの受信者がメールアドレスを認証し、メールの受信を証明できるようなシステムを実装する必要があります。 SMSメッセージなどのバンド情報。それは別の問題です。