私はSOのようなウェブサイトを持っています。ユーザーがアカウントを作成すると、そのアカウントは電子メールを開き、以前に送信したそのようなURLをクリックするまで非アクティブになります。ユーザーのアカウントを有効にする最適なアルゴリズム
さて、そのURLにはどのようなパラメータが含まれているはずですか?
現在、私はユーザーの電子メールをハッシュし、そのURLにパラメータとして渡します。だから、ユーザーがクリックすると、そのハッシュされた電子メールが取得され、比較されます。しかし、私のアルゴリズムは良くありません。なぜなら、ユーザーは電子メールを開かずに自分自身を電子メールでハッシュしてスクリプトに渡すことができるからです。よくわかっていますが、確認のためのアカウントURLを作成するにはどうすればよいですか?
アプリだけが知っている何かと一緒にハッシュする必要があります。 –
塩漬けのハッシュを見てください。 [この記事](http://security.stackexchange.com/questions/51959/why-are-salted-hashes-more-secure-for-password-storage)はパスワードを指しますが、同じ方法を使用することができますシングルユースアクティベーションリンク。次に、使用するまでキーをデータベースに保存してからレコードを削除します。 – Takarii
通常、期限切れの日付を持つことをお勧めします。しばらくすると、期限切れの(非アクティブ化)アカウントをすべて削除してdbをクリーンアップすることができます。 – ChatterOne