1

この質問は本質的に言語にとらわれませんが、私の場合、知りたい人のためにPHPを使用しています。

ユーザーが失敗したログイン試行の回数を追跡して、試行がX失敗した後にCAPTCHAが表示されるようにしたいと思います。これが持つ唯一の目的は、ブルートフォース攻撃を防ぐことです。極端に安全な方法である必要はありません。ブルート フォース攻撃を遅らせるのに十分面倒なだけです。

セッション変数を作成し、$_SESSION['failedLoginAttempts']ログイン試行の失敗が検出されるたびにそれを増やすことを考えていました。攻撃者は引き続きブラウザを変更したり、Cookie を削除したりできますが、これにより攻撃者 (つまり、彼がブルート フォースを実行するために使用しているツールが何であれ) は、試行ごとに数秒余分に浪費することになるため、試行回数は大幅に減少します。下げました。

数回の攻撃から 1 分間に数回の攻撃までが理想的であり、その場合、攻撃は無視できます。

このアプローチは正しいですか、それとも何か不足していますか? また、これらの場合のベストプラクティスは何ですか?

4

2 に答える 2

3

これは、ユーザーIDに接続されているデータベースに記録することをお勧めします。これは、断固とした攻撃者がブルートフォースにWebブラウザを使用することはないためです。ログインを繰り返し試行してCookieを完全に無視する、または試行するたびにCookieをリセットする、ほとんどすべての言語でスクリプトを作成するのは非常に簡単です。

于 2013-03-20T21:55:51.107 に答える