2011-12-19 10 views
1

一般的な統計情報と検索機能のインターフェイスを提供するサイト\リソースがあります。この検索操作はコストがかかるので、(検索エンジンからではなく)人からの頻繁で連続的な(すなわち自動の)検索要求を制限したい。Grabbing spider protection

私はいくつかのインテリジェンスグラブ保護を実行する既存のテクニックとフレームワークが多いと思うので、私は車輪を再発明する必要はありません。私はmod_wsgiを通してPythonとApacheを使用しています。

私はmod_evasive(これを使用しようとします)を認識していますが、他の手法にも興味があります。

答えて

0

robots.txt fileを試すことができます。私はあなたのアプリケーションのルートに置くと信じていますが、そのウェブサイトには詳細があるはずです。 Disallow構文があなたが探しているものです。

もちろん、すべてのロボットがそれを尊重するわけではありませんが、すべてです。すべての大企業(Google、Yahooなど)が行います。

また、this question about disallowing dynamic URLsに興味があります。

+0

実際、私はYahooのGoogleに苦しんでいませんが、robots.txtを尊敬しない人からは –

+0

ああ、よく変わってきます:)あなたの質問にそれを追加してもいいですか? –

+0

完了。私はそれが十分だったと思った:) –

1

誰かがあなたのウェブサイトやデータを正確に探し回っているのであれば、本当に価値があります - この場合、十分にスマートな攻撃者を止めるものはありません。

試してみる価値がいくつかありますが:

  • 特定のIPアドレスとユーザーエージェントからの検索利用状況のカウンタを保管してください。細かい/毎時/毎日のしきい値に達するとブロックします。
  • 潜在的に有害なIPまたは脅威レベルの使用ブラックリスト(たとえば、あなたがそのためのCloudflare APIを使用することができます)
  • キャッシュ頻繁に検索結果が
  • それらを低コストにするためにそれはおそらく少しクレイジーだが、あなたはその統計をレンダリングすることができます画像やフラッシュ/ Javaアプレットを介して - それはそれらをつかむためにはるかに挑戦するでしょう
  • 少し前のものに似ています:検索結果にアクセスするためにいくつかのトリッキーなAPIを使用して、例えばWebSocket上のProtocolBuffersすることができます。だから誰かがおそらくそれをつかむために完全なブラウザを必要とするか、少なくともnode.jsの周りにトリッキーを構築しなければならない。欠点 - 古いブラウザを使って正当なクライアントを失うことになります。
関連する問題