私の答えには少し遅れていますが、とにかく投稿します。これは質問に直接答えないことはわかっていますが、それでも問題はありません。ログインセキュリティに関するいくつかのポイントがあります。
私を覚えてますか
ハッシュ化されたパスワードを再ハッシュし、ユーザーの自動ログインに使用されるCookieに再ハッシュを保存することをお勧めします。パスワードを再ハッシュするときは、ブラウザーの種類など、ブラウザーに固有のものをシードとして使用します。これにより、Cookieが盗まれるのを防ぐことができます(ネットワークトラフィックをスヌーピングする人を介して)。これにより、レインボーテーブルを使用する可能性を防ぐことができます。
セッション
セッションハイジャックに注意してください:http://en.wikipedia.org/wiki/Session_hijacking
CSRF
クロスサイトリクエストフォージェリ-ログイン後に実装されますが、ログインしたメンバーにのみ影響するため、注意が必要です:http: //en.wikipedia.org/wiki/Cross-site_request_forgery
HTTPS
HTTPSは、ログイン要求の送信先のページで使用する必要があります。ログインの詳細を入力するページでHTTPSを使用する必要はありません。
ハッシュ
HTTPSを使用していないときに、メンバーがネットワーク経由でパスワードを転送するときにパスワードが盗まれるのを防ぐためにのみサーバーとなるjavascriptを使用して、パスワードクライアント側をハッシュできます。多くの人が多くのサイトで同じパスワードを使用することが多いため、これは良いことです。欠点は次のとおりです。サーバー側でパスワードの長さを確認できず、JavaScriptが無効になっている場合はログインできません(ただし、ある程度プログラムすることはできます)。Yahooはこの数年前に(今でもそうかもしれないが)やっていた。
サーバーでパスワードを受け取ると、シードを使用してパスワードが再ハッシュされ、データベースに保存されることがよくあります。ハッシュを知っていてもログインできないので、これはより安全です!元のパスワードのみが同じハッシュに再ハッシュされ、ユーザーがログインできるようになります。
キーロガー
キーロガー(またはそれらのほとんど)を回避したい場合は、JavaScriptキーパッド/キーボードを追加することで回避できます。次に、ユーザーは文字と数字をクリックして、キーボードの代わりにマウスを使用してパスワードを入力します。これは、キーロガーがパスワードを記録するのに苦労していることを意味します。
何かを知っている、何かを持っている、何かである
セキュリティの3つのレベル。パスワードなどの誰かが知っているもの、電話などの誰かが持っているもの(Googleは2段階の検証を使用してこれらの最初の2つを完了します)、および指紋などの誰か。これらを多く満たすほど、セキュリティクレデンシャルは大きくなります-長い目で見れば!!!
ボット
コンピューターは、高速ログインページをブルートフォース攻撃しようとすることがあります(パスワードが間違っているかのように高速である必要があり、スクリプトは1秒でも一時停止します。これにより、ボットが実行できるログイン試行の総数が大幅に減少します。これを停止するには、一時停止することができます。 1〜2秒間の不正なログイン(linuxのように)または、X回の不正なログイン(googleのように)の後でボットが解決するのに苦労するキャプチャを生成できます。
主なポイントはありますが、他にもあると思います。