ユーザーのメールアドレスを確認しています。
ほとんどの人が言う方法は、いくつかの一意のトークンを作成してそれをdbに保存し、ユーザーに送信することです。
私は、サイト全体のソルトを使用して電子メールアドレスをハッシュ(sha256)し
、このハッシュをユーザーに送信するだけでそれを行っています。
私は何かが足りないのですか、それともこれで確認できますか?
ユーザーのメールアドレスを確認しています。
ほとんどの人が言う方法は、いくつかの一意のトークンを作成してそれをdbに保存し、ユーザーに送信することです。
私は、サイト全体のソルトを使用して電子メールアドレスをハッシュ(sha256)し
、このハッシュをユーザーに送信するだけでそれを行っています。
私は何かが足りないのですか、それともこれで確認できますか?
一見の価値があるかもしれない(またはそうでない)いくつかのこと。
誰かがあなたの塩を見つけた場合、彼らはあなたのハッシュを再構築し、あなたのシステムを氾濫させる可能性があります。この場合、作成しているものにユーザーが自分の電子メールアドレスの追加を要求したことを確認する必要があります。(つまり、ハッシュをDBに保存することを完全に取り除くことはできません。)
また、ソルトが同じである場合、同じ電子メールアドレスから再度要求した場合、ハッシュは同じになります。同じ電子メールアドレスであっても、要求が行われるたびに異なるハッシュが必要ですか?サーバーの日付/時刻をハッシュする前に電子メールアドレスに連結して、毎回異なるものにすることができます。
あなたはそれを行うことができ、誰もサーバーサイドソルトを取得しない場合、それは節約されます。結局のところ、それは電子メールの検証であり、法的な理由でそれを行う必要がなければ、それをより複雑にする必要はありません。
しかし、それはあなたの目標に依存します。それをさらに安全にしたいですか?簡単に実装したいですか?メンテナンスが簡単にしたいですか?スクリプトの実行時間を考えていますか?
ところで:電子メールに長いリンクがある場合の非常に厄介なことの1つ:リンクを壊す電子メールサイトが存在する可能性があるため、リンクと一緒にコードを追加し、コードがリンクを介して完全に転送されない場合は、次のフォームを作成しますユーザーはコードを追加できます。