2011-09-16 14 views
7

私は、情報を記録し、特定のIPアドレスがシステム上にインストールされていなくてもphpMyAdminを悪用しようとするような厄介なことをしていることがあります。適切なHTTPステータスがハッキングの試みに戻る

これらの犯罪者を見つけたら、そのページが存在するかどうかを示す小さなメッセージを返すブロックリストにIPアドレスを追加し、IPアドレスとそのクエリ文字列を記録しておくことができます。

問題は、ほとんどがスキャンするスクリプトであると思われますが、技術的には小さなメッセージでHTTPステータスコード200を返しています。私はステータスコードでもっと前向きになりたいですが、どちらが最善のものかはわかりません。

リストhereが見つかりました。401または403が最も適用されるようです。 IPアドレスを「禁止する」ための最良のコードはどれですか?

+1

HTTP応答をまったく提供するのではなく、ファイアウォールで接続を完全に削除するのが最善の方法です。 – geoffspear

+0

これはstackoverflowの資料ではありません。 serverfaultに合うでしょう。 – unixman83

+4

'fbi.gov'にリダイレクトします – Michelle

答えて

8

403または404が最適です。リクエストメソッドがHEADではなかったとサーバが要求が満たされていない理由を公開することを希望する、それが実体に拒否の理由を説明する必要がある場合

「(...):403のための参照を参照してください。サーバがこの情報をクライアントに利用させたくない場合は、ステータスコード404(Not Found)を代わりに使用することができます。

出典:あなたは、ステータス403 - Forbiddenを返し、レスポンスボディにその理由を記述することができる。例えばhttps://tools.ietf.org/html/rfc2616#section-10.4.4

403 - Banned for ...のようなステータスコードを返すことが許可されているかどうかはわかりません。いずれにしても、無実のユーザーはおそらく403の理由に特に関心があります。

関連する問題