WebサイトがWebスクレイパーをブロックする方法は何ですか?サーバーがボットによってアクセスされているかどうかをどのように識別できますか?
6 に答える
- キャプチャ
- 1秒以内に送信されたフォーム
- 非表示(cssによる)フィールドは、フォームの送信中に送信された値を取得します
- 頻繁なページ訪問
単純なボットは、フラッシュ、画像、または音声からテキストをスクラップすることはできません。
残念ながら、あなたの質問は、スパムをどのようにブロックするかを尋ねる人々に似ています。決まった答えはなく、永続的な誰か/ボットを止めることはありません。
ただし、実装できるメソッドは次のとおりです。
- User-Agentを確認してください(これはなりすましの可能性があります)
- robots.txtを使用します(適切なボットは-うまくいけばこれを尊重します)
- 多くのページに一貫してアクセスしすぎるIPアドレスを検出します(「x」秒ごと)。
- 手動で、またはシステムにフラグを作成して、サイトに誰が参加しているかを確認し、スクレーパーがたどる特定のルートをブロックします。
- サイトで標準のテンプレートを使用したり、汎用のcssクラスを作成したりしないでください。また、コードにHTMLコメントを入れないでください。
robots.txtを使用して、それに気付くボットをブロックできます(ただし、Googleなどの他の既知のインスタンスを通過させます)が、それを無視するボットは停止しません。Webサーバーのログからユーザーエージェントを取得できる場合もあれば、コードを更新してどこかに記録する場合もあります。その後、必要に応じて、特定のユーザーエージェントがWebサイトにアクセスするのをブロックし、空の/デフォルトの画面または特定のサーバーコードを返すだけです。
スクレーパーは、ページの読み込みからページの読み込みまでのマークアップの一貫性にある程度依存しています。彼らの生活を困難にしたい場合は、リクエストごとに変更されたマークアップを提供する手段を考えてください。
「悪い行動」のようなものが役立つかもしれません:http ://www.bad-behavior.ioerror.us/
彼らのサイトから:
Bad Behaviorは、PHPベースのWebサイトに統合するように設計されており、スパムボットがジャンクでサイトを破壊する前に、または電子メールアドレスやフォームのページをスクレイプする前に、できるだけ早く実行します。記入します。
Bad Behaviorは、サイトへの実際の破壊行為をブロックするだけでなく、多くの電子メールアドレスハーベスターをブロックして、電子メールスパムを減らし、多くの自動化されたWebサイトクラッキングツールを使用して、Webサイトのセキュリティを向上させます。
Web サイトのクローラー/スクレーパーでは、User-Agent のように、ページを要求するときにすべてのヘッダーを編集でき、ヘッダーがあるかどうかを識別できないため、必要なことを正確に行う方法はないと思います。 Mozilla Firefox のユーザーまたは単なるスクレーパー/クローラー...