2011-01-24 13 views
2

Account Lockout」という用語について教えていただけますか?どのようにPHPで実装するのですか?以下の情報は、Webサイトのセキュリティ/監査ツール「ACUNETIX」から入手しました。ACUNETIX - ログインページのパスワード推測攻撃 - ブルートフォース攻撃とアカウントロックアウト

説明

「Web開発者が直面する共通の脅威がbrute force attackとして知られているパスワード推測攻撃である。ブルートフォース攻撃体系文字のすべての組み合わせを試すことで、パスワードを発見しようとする試みである、数字あなたが動作するものの正しい組み合わせを発見するまでのシンボル。

は、このログインページには、パスワード推測攻撃(ブルートフォース攻撃)に対する任意の保護を持っていません。この問題を修正の詳細については、Web参照を参照してください。

インパクト

攻撃者は、それが動作するものの正しい組み合わせを発見するまで体系的に文字、数字、記号の可能なすべての組み合わせを試すことにより、週のパスワードを発見しようとすることができます。

勧告は

間違ったパスワード試行が定義した回数後account lockoutのいくつかの種類を実装することをお勧めします。」

答えて

1

アカウントロックアウトは、ユーザーが アカウントロックするために使用することができるパスワードポリシー です アカウントがロックされると、 ユーザーは の認証を受けられなくなります

あなたはこのPHPの例に見ることができ

ユーザーがしようとすると、ログインに失敗回数をDBに保存する必要がhttp://www.weberdev.com/get_example-1380.html

3回の後、あなたはブロックあなたのサイトを入力してください

1

のOpenID

あなたからユーザー自分でログインシステムを作成するのではなく、OpenIDを使用してください(LightOpenIDは、PHP用の非常に優れたopenidライブラリです)。優れたopenidプロバイダーはすでにこれに対して適切な測定値を持っています。

CAPTCHA

しかし、あなたは本当にこの身を守るための最も簡単な方法は、そのユーザ(なし自動スクリプト)を検証していることを自分で行いたい場合は、あなたのフォームがCAPTCHAを使用して送信します。私の意見では、他のすべてのスキームに欠陥がある可能性があります。しかし、あなたが使うこともできるいくつかのスキームは、あなたのスクリプトを無効なログインでスリープさせることです(間違った試行でそれを増やしてください)。

関連する問題