自分のサイトにアクセスするボットを排除する必要がありますか?
-
11-07-2019 - |
質問
ボットが私のサイトALOTにアクセスしていることにトラッカーで気付きました。 robots.txtを変更または編集するか、何かを変更する必要がありますか?インデックスを作成しているので、それが良いかどうかわかりませんか?
解決
robots.txtを変更または編集するか、何かを変更する必要がありますか?
ボットに依存します。一部のボットは、robots.txtを忠実に無視します。 顧客がSooooの多くの広告を購入していたため、18か月前にGoogle ADボットで同様の問題が発生しました。 Google ADボットは(文書化されているように)ワイルドカード(*)の除外を無視しますが、明示的な無視に耳を傾けます。
robots.txtを尊重するボットはサイトをクロールしないだけです。インデックス作成のためにデータにアクセスさせたい場合、これは望ましくありません。
より良い解決策は、ボットに静的コンテンツを調整または供給することです。
それらがインデックス付けされているのか、何のために良いのかわかりませんか?
インデックス/スクレイピング/スティーリングが考えられます。本当にすべて同じです。私が望むのは、UserAgentに基づいてHTTP要求処理を調整することです。これを行う方法は、Webサーバーとアプリコンテナーによって異なります。
他の回答で示唆されているように、ボットが悪意のある場合、UserAgentパターンを見つけて403禁止を送信する必要があります。または、悪意のあるボットがユーザーエージェント文字列を動的に変更する場合、さらに2つのオプションがあります。
- ホワイトリストUserAgent-例特定のユーザーエージェントのみを受け入れるユーザーエージェントフィルターを作成します。これは非常に不完全です。
- IPの禁止-httpヘッダーにはソースIPが含まれます。または、DOS攻撃を受けた場合(サービス拒否攻撃)、より大きな問題が発生します
他のヒント
robots.txtを変更しても、良いボットだけが従うので、本当に役立つとは思わない。他のすべてはそれを無視し、コンテンツを必要に応じて解析します。個人的には、 http://www.codeplex.com/urlrewriter を使用して、望ましくないロボットを駆除します。禁止されているメッセージが見つかった場合の応答。
スパムボットはrobots.txtを気にしません。 mod_security のようなものでブロックすることができます(それ自体が非常にクールなApacheプラグインです)。または、単に無視することもできます。
.htaccessを使用して、一部のボットがログを破壊するのを拒否する必要がある場合があります。 こちらをご覧ください: http://spamhuntress.com/2006/02/ 13 / another-hungry-java-bot /
サイトをクロールし、追加するJavaボットがたくさんありました
SetEnvIfNoCaseユーザーエージェント^ Java / 1。 javabot = yes
SetEnvIfNoCase User-Agent ^ Java1。 javabot = yes
env = javabotから拒否
それらを停止させました。今、彼らは一度だけ403を取得し、それだけです:)
かつて「価格比較」を何度も行っていた顧客のために働いていました。ボットが常にサイトにアクセスしています。問題は、バックエンドリソースが不足しており、トランザクションあたりの費用がかかっていたことです。
しばらくの間これらのいくつかを撃退しようとした後、ボットは認識可能な特性を変更し続けました。次の戦略になりました。
サーバー上のセッションごとに、ユーザーがクリックするのが速すぎるかどうかを判断しました。指定された回数の繰り返しの後、「isRobot」を設定します。フラグをtrueに設定し、スリープを追加することでそのセッション内の応答速度を単純に下げます。ユーザーはその場合は新しいセッションを開始するだけなので、ユーザーには何も伝えませんでした。