2012-02-12 12 views
1

私はログインシステムを作成していますが、誤ったユーザー名とパスワードが与えられたときに数分間ログインしようとする人をブロックしたいとします。制限されたログイン試行

私はIPでそれをブロックする方法を知っていますが、それは例えばブロックを作成します。私がそこにいるなら、学校全体。 これで、ユーザーがアクセスをブロックするために入力したユーザー名を使用できましたが、入力されたユーザー名がデータベースに存在しない可能性があります。

私の質問は: 存在しないユーザー名を入力したユーザーのブロックを作成する方法を教えてください。 それにはどんな種類のデータベーステーブルが必要ですか?

また、私はセッションとクッキーを使用する可能性を探しましたが、セッションやクッキーを削除するために作成できるセキュリティ問題が残っています。

誰かが私を助けることができたら、私はそれを感謝します。

+1

私は、99%有効な解決策を考えています。 IPアドレスでブロックすることは、大きなグループのユーザーをロックアウトする可能性があるため、良い考えではありません。また、誰かが彼らのIPアドレスを偽装することを望むならば、ユーザー名によるブロックは、特定のユーザーのパスワードを推測しようとしている場合にのみ有効です。セッション/クッキーはエンドユーザが簡単に削除できます。私はいくつかの方法の組み合わせを使用することをお勧めします:N回のログインに失敗した後のユーザー名をロックし、ユーザーが使用できる程度にセッションを使用し、多数の試行後にIPアドレスをブロックする可能性があります。 –

答えて

2

私は、ユーザー名を忘れた貧しい夫ではなく、ブルートフォース攻撃から脱出しようとしていると信じています。

難しいCAPTCHAメカニズムを実装することで、自動化された攻撃のほとんどを防ぐことができます。特定のIPアドレスからの試行回数とその連続試行間隔を同時にカウントします。いずれかの攻撃があなたのCAPTCHAの解決を管理している場合でも、異常な活動を数分で検出し、そのIP全体へのアクセスをブロックすることができます。しばらくの間、組織全体をオフラインにするかもしれませんが、深刻な攻撃のために少なくともブラックアウトを経験するのを助けることができます。

ほとんどのブルートフォースシステムは、すべてのリクエストに対して新しいクッキーをクリアして生成するため、セッションとクッキーは役に立ちません。

+0

先端のThnks。 私はそれを調べます。 この問題の良い解決策のようです:) – Controvi

+0

喜んで助けになる! – Nirmal

関連する問題