2

ユーザーのメールアドレスを確認しています。
ほとんどの人が言う方法は、いくつかの一意のトークンを作成してそれをdbに保存し、ユーザーに送信することです。

私は、サイト全体のソルトを使用して電子メールアドレスをハッシュ(sha256)し
、このハッシュをユーザーに送信するだけでそれを行っています。

私は何かが足りないのですか、それともこれで確認できますか?

4

2 に答える 2

2

一見の価値があるかもしれない(またはそうでない)いくつかのこと。

誰かがあなたの塩を見つけた場合、彼らはあなたのハッシュを再構築し、あなたのシステムを氾濫させる可能性があります。この場合、作成しているものにユーザーが自分の電子メールアドレスの追加を要求したことを確認する必要があります。(つまり、ハッシュをDBに保存することを完全に取り除くことはできません。)

また、ソルトが同じである場合、同じ電子メールアドレスから再度要求した場合、ハッシュは同じになります。同じ電子メールアドレスであっても、要求が行われるたびに異なるハッシュが必要ですか?サーバーの日付/時刻をハッシュする前に電子メールアドレスに連結して、毎回異なるものにすることができます。

于 2011-09-01T20:44:43.323 に答える
1

あなたはそれを行うことができ、誰もサーバーサイドソルトを取得しない場合、それは節約されます。結局のところ、それは電子メールの検証であり、法的な理由でそれを行う必要がなければ、それをより複雑にする必要はありません。

しかし、それはあなたの目標に依存します。それをさらに安全にしたいですか?簡単に実装したいですか?メンテナンスが簡単にしたいですか?スクリプトの実行時間を考えていますか?

ところで:電子メールに長いリンクがある場合の非常に厄介なことの1つ:リンクを壊す電子メールサイトが存在する可能性があるため、リンクと一緒にコードを追加し、コードがリンクを介して完全に転送されない場合は、次のフォームを作成しますユーザーはコードを追加できます。

于 2011-09-01T20:43:10.813 に答える