3

今、多くの方法でとられる可能性のある主題があります。問題を説明し、提案を取得し始めるときに、難読化を解除できることを願っています。

既存のサイトを置き換えるサイトを開発しています。歴史的に私たちが抱えていた問題の1つは、スパイダーボットが入ってすべてのコンテンツを吸い込んでしまうことです。これで、コンテンツがダウンロードされてもかまいません。実際、私たちはそれを喜んでいますが、バルクダウンローダーとダウンロードアクセラレータのいくつかは、現在のサイトで問題があることが証明されています。

私が探しているのは、ほとんど最初に実行されるphpの最初にあるものです。ページリクエスト(ip、referrer、request uri、cookies、session idなど)のフィンガープリントを取得し、それを...何かに渡します。次に、その何かが最後の1、3秒の指紋と指紋を比較します。次に、事前に構成されたしきい値に基づいて、要求を処理するメッセージを返します。

いくつかのしきい値は次のとおりです。

  • ユーザーが過去0.n秒にxページ以上をリクエストしました。
  • ユーザーが0.n秒未満で同じページをリクエストしました。
  • ユーザーが過去n秒間に同じデータをフォームに送信しました。

だからあなたは私がいくつかのかなりタイトな窓を見ているのを見るでしょう。そのようなものを検出することさえ可能ですか?ある種のファイルまたはdbデータソースでそれを行うことができますか?ページの読み込みの間に指紋を保存するために使用するものは何でも、ほとんどのデータが1〜2秒間保持されるため、多くのチャーンが発生します。しきい値と照合するためにapacheログを解析するものが必要ですか?スクリプトから呼び出すことができるメモリに1〜2秒のデータを保持するある種の外部デーモンを探す必要がありますか?これを処理できるapacheに何かがありますか?これを処理するためにサーバーの人にパントする必要がありますか?

これがPHPまたは外部デーモンと呼ばれるもので実行できることであると仮定すると、しきい値を超えた動作にどのように応答しますか?私の腸は、408や503のようなHTTP応答を言いますが、私の腸はしばしば間違っています。クライアントに少しバックオフするように指示するにはどうすればよいですか?ある種の「すごい」ページ?

4

3 に答える 3

3

ソフトウェアソリューションが必要ない場合は、これを処理するようにルーター/ファイアウォールをプログラムしてみませんか?DOS攻撃(またはそれに相当するもの)を除外することは、DOS攻撃の目的の一部です。

于 2009-10-30T21:03:10.887 に答える
2

mod_evasiveを試してください

于 2009-10-30T21:08:50.453 に答える
2

PEAR::HTTP_Floodcontrolmod_securityおよびfail2banを試してください。

于 2009-10-30T21:16:37.570 に答える