web-dev-qa-db-ja.com

ユーザーが1回限りのリンクを2回クリックした場合、一般的な404ページをユーザーに表示する必要がありますか?

Webアプリケーションにはサインアップ機能があります。ユーザーがサインアップすると、確認リンクが記載された電子メールメッセージがユーザーの電子メールアドレスに送信されます。この確認リンクは明らかに一度だけ有効です。

ユーザーが1回限りのリンクを2回目にクリックしたときにユーザーに表示するページ:

  • 「このページは存在しません」というテキストを含む一般的な404ページ
  • 一般的なエラーメッセージ「1回だけ有効なリンクをたどりました」が表示されたホームページ
  • 特定のエラーメッセージ「すでにメールアドレスを確認しました」が表示されたホームページ

それはユーザーの観点から本当に重要ですか?

11
Andrei Botalov

住所確認は、確認として1回のみ有効ですが、一度使用すると、それを知っている必要がないという意味ではありません。 ストアの確認リンクを一定期間(たとえば1か月)使用し、その期間中に誰かが再度使用しようとした場合、メールアドレス(および彼らに住所を示してください)はすでに確認されています。そうすることで、エラーだけでなく有用な情報を表示できます。

アドレス[email protected]はすでに確認されています。アカウントのメールアドレスを変更する場合は、サインインしてください。

次に、確認のための構造化URLを使用の場合、データベースから確認コードを削除しても、彼らがアドレスを確認しようとしていることがわかります。たとえば、URL構造がmydomain.com/confirm/some-code-here確認コードがすでに使用されているか期限切れであることを示す一般的なメッセージページを常に表示できます

確認リンクは既に使用されているか、期限が切れています。アカウントにサインインして、何とか何とか何とかしてみませんか。

一般に、建設的な情報を指定する方法がある場合、一般的なエラーページをスローするのではなく、それを行う必要があります。

12
JohnGB

General 404は誤解を招くでしょう。

自分のアドレスが既に確認されているか、確認リンクが無効であるという情報を含むページを表示します(アカウントが確認された場合に情報を抽出するために確認リンクにアクセスする意図しない人を防ぐためです)。これは、確認リンクのカスタム404を意味します。

9
Dominik Oslizlo

重要だと思いますが、エラーメッセージが詳細であるほど優れています。存在しない問題を示唆しているため、404は最悪です。 「このアクションはすでに完了しています」というメッセージが最も良いでしょう。サインアップまたは確認リンクを電子メールで送信して、パスワードまたは登録確認を再送するのもよいでしょう。

0
Austin French