2009-07-21 15 views
2

私はニュースレターアプリを作成したいと思うので、ユーザーはニュースレターに登録したことを確認しなければなりません。秘密のないユーザーアカウントアクティベーションメールは、DBに合理的に安全に保管されていますか?

私のアイデアは、URLに秘密を持つリンク(電子メールアドレスのハッシュと一部の秘密サイトキー)を含む電子メールをユーザーに送信することでした。

私の質問は次のとおりです:いくつかのアカウントを登録し、そのアドレスで秘密のハッシュを受け取ることで誰かがサイトキーを推測し、彼女が望むすべてのメールアドレスを登録できますか?

私はそのことから得られるものは何も見ませんが、それが非常に簡単な場合、誰かがそれを行い、ブラックリストに載る可能性があります。

非アクティブ化されたユーザーアカウントを保存しない理由は、単にx日ごとにDBからパージしたくないからです。

答えて

5

sha1のように完全にランダムなsalt/sitekeyを使用する場合は、辞書攻撃でサイトキーをリバースエンジニアリングしようとするのは無駄でしょう。

誰かは、任意のアドレスを登録するために、独自のハッシュを合成したいなかった場合は、自分の時間の有効活用は、ソースコードを読むために、サーバーへのアクセスを得ることであろう:)

+0

は、平和をありがとう心の:) – nasmorn

2

私はランダムな秘密を生成し、それをdbに保存するのが最善であると思います。そうすれば、推測できるものは何もありません。 (少なくとものいずれかのメールをに追加する許可を与えるものではない)。