web-dev-qa-db-ja.com

未知のボットから未知のロボット(「bot *」で識別される)から巨大な帯域幅転送を取得

未知のボット未知のロボット(「bot *」で識別される)から巨大な帯域幅転送を受け取ります。htaccessまたはその他の方法でブロックする方法があります。問題は、Webサイトの安全のためにブロックするか、検索エンジンがWebサイトをクロールするのが良いかということです。

私はウェブサイトの設計を始めたばかりなので、基本を知りません。それらをブロックするか、このようにする必要がある場合は、私を案内してください

2
Gradfather

最初のステップは、このボットがrobots.txtを読み取るかどうかを判断することです。このボットに対してcrawl-delayを定義できます。 この質問 は、あなたがしなければならないことについてより詳しく説明します。このボットを介してサイトをクロールすることを禁止することもできます。不正なボットはrobots.txtを読み取ったり、単に無視したりしないため、このファイルへの変更が機能しない可能性があることに注意してください。

不正なボットを困難な方法でブロックしたい場合は、それがIPであることがわかります。 mod_authz_Host.htaccessを使用して、このIPをハードブロックできます。これは、次のコードで実行できます。

<Directory />
  Order Deny,Allow
  Deny from 127.0.0.1
  Allow from all
</Directory>

このコードを囲むxml-like-tagsは、これらのルールが/ディレクトリ(ルート)に対して有効であることを示しています。要求が処理されると、そのディレクトリのすべてのルールと、そのディレクトリにある親ディレクトリのすべてのルールが処理されます。 (so:/asdf/へのリクエストは、最終的にこれらのルールも解析します。

Order Deny,Allowは、最初にすべての「拒否」ルールを処理し、次にすべての許可ルールを処理するようにApacheに指示します。 Deny from 127.0.0.1は、127.0.0.1へのすべてのリクエストをブロックします。言うまでもなく、このIPを実際のIPに変更する必要があります。 Allow from allは、他の全員にアクセスを許可します。これにより、ボットにForbiddenエラーが表示されます。

Mod_authz_Hostの詳細については here を、<directory>ディレクティブの詳細については here を参照してください。

1
Sumurai8