2012-04-11 7 views
0

私は現在、自分のユーザーがWebサイトにログインする必要があるWebサイトを開発しました。ユーザーが来るときに彼/彼女のためにSessionを作成し、時間の数+彼のログインに失敗した時間を保存する。ユーザーが5回ログインしようとすると、私は彼にCAPTCHAを表示し、彼にCAPTCHAコードを入力させる。より多くの10回、彼にそのYou are ban for 2 hoursを示す単純なHTMLファイルにリダイレクトする。問題はどのように私はインターネットで一意のユーザーを選択できますか?ユーザーに関するどのような情報が一意のユーザーを選択できますか?インターネットで10回以上ログインしようとするユーザーを一意に選択する方法

+0

信頼できますか?それで幸運。適切なブラウザを使用しているユーザーが偽造できない方法はありません。さて、IPの禁止は不十分ですが、それでもプロキシ、アノニマイザとのトラブルを引き起こします...基本的にIPを共有している誰でも。 – cHao

+1

とは無関係 - [CAPTCHA](http://en.wikipedia.org/wiki/CAPTCHA)は「T」 –

+0

ですが、あなたは正しいですが、攻撃のリスクを減らすことができますか?そうではありませんか? – Arian

答えて

1

ユーザーにログインするように依頼しているので、各ユーザーに一意のログインIDが既にあるように思えます。悪意のあるユーザーがシステムを悪用して別の有効なユーザーをロックアウトしないようにしますそれでもパスワードクラッキングからそれらを停止します。あれは正しいですか?

悪意のあるユーザーが侵入防止スキームを使用して他のユーザーを妨害することを絶対に確実にすることはできません。ブルートフォースを試みているユーザーが他のユーザーのパスワードを強制的に使用しているように見える場合は、そのIPアドレスを一定期間ロックアウトするか、またはそのアカウントのIPアドレスをロックアウトすることができます。 NATゲートウェイの共有IPの背後にある悪意のあるユーザーが、同じゲートウェイの背後にある他のすべてのユーザーをロックアウトさせます。サーバーに送信された情報はすべて偽装される可能性があるため、少しばかりバランスをとっています。ユーザーIDとIPアドレスの組み合わせは、一意の個人を表すという点では誤りではありませんが、最も一般的な悪用を防止するだけで十分です。

0

サイト内のユーザー名が一意であることを考慮すると、usernameとsessionの組み合わせを使用して特定のユーザーをブロックできます。 ユーザが異なるマシンから同じユーザ名を10回使用すると、そのユーザをブロックすることができます。

+0

はい、ユーザーが*悪い人*で、存在しないユーザー名を試してみると何ができますか? – Arian

+0

他のすべての悪意のある攻撃を事前に判断することはできません。最も可能性の高いものを処理する必要があります。 – Ram

関連する問題