電子メールアドレスの確認リンクはどのくらいの期間、最後に期限切れになるのですか?


34

ユーザーが電子メールを登録した後、リンクをクリックして電子メールを送信すると、クリックするとそのアカウントが有効になります。私は他のサイトがユーザーがリンクをクリックしなければならない時間の量に制限があることを知っています。そうでなければ、リンクの有効期限が切れます。それがなぜ必要なのか考えてみましょうか?それは、攻撃者が任意の大量のアカウントを生成し、それらへのアクティベーションリンクを推測する無制限の時間を持つことができるので、登録された電子メールを所有していないアカウントを作成できないようにすることですか?

必要な場合は、リンクをクリックする必要がありますか?

36

ほとんどのWebサイトでは、1つのアカウントにのみ電子メールアドレスを使用できます。ほとんどの場合、ユーザーは1つのアカウントしか必要としないので理にかなっています。したがって、固有の電子メールアドレスが必要です。

ユーザーが登録しても自分の電子メールアドレスを確認する必要がある場合は、そのユーザーの電子メールアドレスを他の人や全く同じ人に許可しないようにしたい再度登録してください。電子メールの確認の有効期限を処理しないと、誰かが他の人の電子メールアドレスに登録し、決してそれを確認せずに正当なユーザーの電子メールをロックすることができます。

ユーザーが指定した時間内に自分の電子メールアドレスを確認していない場合は、実際に自分のアドレスではない場合や、後で再度登録したい場合に備えて再度利用可能にしたいと考えています。ユーザーが誤って誤った電子メールアドレスを入力した場合を考えてみましょう。

今、適切な時間は、それはそれがウェブサイトのタイプによって異なると言いたいと思います。彼はあなたのウェブサイトに登録できたら、すぐに自分の電子メールアドレスにアクセスできるはずだから、数時間以上は許されていないのです。ユーザーが電子メールアドレスのパスワードを忘れてアクセスできない場合を考えてみましょう。彼はしばらく時間がかかるかもしれない彼のパスワードを元に戻すためにいくつかのステップを経なければならないかもしれません。しかし、彼が再び登録しなければならないと本当に害を及ぼすでしょうか?もう一度、それはウェブサイトによって異なります。

+1

ほとんどのサイトには、「確認メールの再送信」機能があります(明示的なリンクまたはユーザーが同じ電子メールで2回サインアップしようとすると自動的に機能します)。確認メールが途中で失われる可能性があるため(スパムフィルタなど)、この機能が必要です。今私はいつも確認メールをやり直すことができますか? 16 11月. 132013-11-16 23:42:33


6

リソース枯渇攻撃を実行すると、これらのリンクを期限切れにする必要はありません。

しかし、99%のユーザーがサイトを使用してそのサイトを最適化する方法について考える必要があります。誰かが自分の受信トレイで18ヶ月前のアクティベーションリンクを見つけ、あなたのサイトを覚えていて、まだ役に立つと思ってリンクをクリックすることは稀です。

永久に続くアクティベーションリンクやコードは、永遠に保持する必要があります。 DBに多くの行が存在する可能性のある人気サイトがある場合。

これらのリンクを10日後に期限切れにして「アカウントを作成」を再度クリックしなければならない場合はどうですか?

ところで、ユーザーAがすでに(誤ってまたは悪意のある)自分の電子メールアドレスを使用しているため、ユーザーBのアクティブ化をブロックすることは非常に貧しい経験です。誰が最初にそこに着くのではなく、実際に電子メールアカウントを誰が所有しているのかについてです。


3

私はthis答え(+1)に同意します。元のメールが途中で失われたり、スパムフィルタによってブロックされたりする可能性があるため、ほとんどのサイトで「再送信確認メール」の機能が必要です。つまり、most upvoted answerとは逆に、自分のメールアドレスに確認メールを再送信できるので、誰も私のメールをロックできません。有効期限が切れる確認リンクの唯一の理由はストレージリソースです:未確認のアカウント(リンク)を削除して、ストレージが無期限に増加したり、速度が低下したりしないようにします。そのため、確認されていない未確認アカウント(最後の確認メールが送信されてから48時間以内)を削除するための賢明な方法が必要です。