1

目的は、(可能な限り) ブルート フォース攻撃を防ぐことです。

解決策の 1 つは php sleep() ですが、多くのサーバー リソースを使用することをお読みください (たとえば、ここhttp://bytes.com/topic/php/answers/745681-how-does-sleep-work )。

他の解決策、mysql でのログイン数の記録、2 回目または 3 回目のログイン失敗後、エコーおよびキャプチャの検証、5 ~ 6 回のログイン失敗後に時間制限を設定 (sleep() なしで行う方法) ... など。方法はシステム リソースの使用量が少なくなりますか?

ブルートフォース攻撃を防ぐための良い方法についてアドバイスをお願いします...ログイン試行が一定回数失敗した後、どこかにリダイレクトしたり、別のコンテンツを表示したりする可能性があります....?

4

1 に答える 1

1

あなたの質問"Prevention against bruteforce"は非常に議論の余地があり、技術的です。私は、ブルートフォースの防止に使用することはまったく良い選択ではないこと
に同意します。sleep()しかし、ブルートフォースに対する防弾保護は不可能です。はい、私たちにできることは、それを可能な限り難しくすることです。

私のアルゴリズム
1)3回のログイン試行。ユーザーが正常にログインする場合、それ以外の場合はステップ2。最初のキャッチは最初のステップにあります。さらにナビゲートする前に、すべての試行を記録してカウントする必要があります。手順2でも同じです。

2)3つのキャプチャ検証。ユーザーが正常にログインした場合、それ以外の場合は手順3。

3)ブロックリストにユーザー名を追加し、特定の制限時間後に削除します。もちろん、この追加と削除により、追加のリソースが使用され、実装の面でいくつかの複雑さが確実に発生します。

4)ユーザーがログインしようとするときはいつでも、最初にそのユーザー名がブロックリストにあるかどうかを確認してください。ブロックリストにない場合は、手順1を実行します。ブロックリストにある場合は、メッセージを表示するだけです。

しかし、ブルートフォースに本当に抵抗できるシステムを構築するには、ブルートフォースの詳細とハウツーについて研究する必要があることをはっきりさせておきます。それはケーキではありません。SOまたは他の場所で完全な答えを得ると期待しないでください。

また、他の人から彼らのアイデアが何であるかについて読みたいと思います。

于 2013-02-16T14:08:34.780 に答える