0

そのような解決策の短所と長所を得るのは良いことです。また、ソリューションが攻撃を防ぐのにどれほど役立つかについても意見を聞いてください(それは大いに役立ちますか)。

各ユーザー名(ユーザー)には、ログインするための一意のURLがあります。これが例https://secure.freshbooks.com/loginSearch.phpです

私はそのような長所を見ます:

  1. 複数のユーザーが同じユーザー名を使用できます
  2. ユーザー名ごとに、ハッカーは異なるURLを使用する必要があります(ここでの質問は、ハッカーにとってどれほど難しいかということです。特別なプログラムを作成するのは簡単かもしれません)。
  3. ログインするためのURLを取得するのに多くの時間がかかります(sigle login.phpと比較して)
  4. ....おそらくもっとプロがいる

私の意見からの短所は、ユーザー名ごとに個別のサブドメインが作成されるということです。のように使用する方が良い場合がありますwww.page.com/user/。また、たとえば100000人のユーザーが同じユーザー名を必要としている場合。URLに名前を付けるためのより良い解決策は何でしょう..../usernameか?

そして、質問はそれをどのようにコーディングするかです。mysqlからのユーザー名; ユーザー名をURLに追加します...それでは?

あなたの意見を知っておくといいでしょう。

これがオフトピックまたは質問の再投稿と見なされないことを願っています...

4

4 に答える 4

1

PHP でブルート フォース アタック保護を処理するクラスを作成しました。

https://github.com/ejfrancis/BruteForceBlocker

サイト全体で失敗したすべてのログインを db テーブルに記録し、過去 10 分間 (または選択した時間枠) で失敗したログインの数が設定された制限を超えた場合、時間遅延および/またはキャプチャ要件を適用します。再度ログインする前に。

例:

//スロットル設定配列を構築します。(# 最近失敗したログイン => 応答)。

$throttle_settings = [

    50 => 2,            //delay in seconds
    150 => 4,           //delay in seconds
    300 => 'captcha'    //captcha 

];

$BFResponse = BruteForceBlocker::getLoginStatus($throttle_settings);

//$throttle_settings はオプションのパラメーターです。含まれていない場合、BruteForceBlocker.php のデフォルト設定配列が使用されます。

スイッチ ($BFResponse['ステータス']){

case 'safe':
    //safe to login
    break;
case 'error':
    //error occured. get message
    $error_message = $BFBresponse['message'];
    break;
case 'delay':
    //time delay required before next login
    $remaining_delay_in_seconds = $BFBresponse['message'];
    break;
case 'captcha':
    //captcha required
    break;

}

于 2014-06-14T22:10:58.387 に答える
1

ブルート フォース攻撃を使用するハッカーは、ハッキングしようとしているユーザー名を既に知っています。彼らはパスワードを強引に攻撃するだけなので、これは実際には有効な防御策ではありません。

より良い方法は、ログインの試行回数を制限することかもしれませんが、100 など、通常のユーザーが決して見ることのない非常に高い値に設定してください。

于 2013-02-20T12:18:44.383 に答える
-1

ちょっと考えてみると...x回攻撃が失敗した後、IPへの攻撃を禁止しないのはなぜですか? 代わりに (そしておそらくより簡単に)、スクリプト化された攻撃を妨害するために人間による検証 (Captcha など) を要求します。私は実際のコーディングは得意ではありません (Captcha の代わりに新しい HTML5 のドラッグ アンド ドロップを使用しましたが) が、一般的なアイデアは機能するはずです。

于 2013-02-20T13:58:23.537 に答える