web-dev-qa-db-ja.com

私のサイトにアクセスするWebクローラーはユーザーエージェントを偽造できますか?

robots.txtファイルを自分のWebサイトに書き込み、有名なボット(Google、Bing、Yahoo)がWebサイトをクロールできるようにしますが、それ以外は拒否します。

User-agent: Googlebotを追加したかどうかを知りたいのですが、偽のGooglebotクローラーが私のウェブサイトを閲覧できるようになりますか?ボットを偽造することさえ可能ですか?

2
AliBZ

クローラーがrobots.txtを尊重するかどうかは、全体名誉ベースのシステムです。そのファイルに何も入れても、「偽の」クローラーが何かをするのを防ぐことはできません。

User-agent:に関しては、その値も完全に任意です。ブラウザまたは他のHTTPクライアントに、そのヘッダーに必要な値を送信するように指示できます。

6
EEAA

Google、Bing、Yahooがサイトをクロールできるようにし、他のすべてのクロールを許可しないrobots.txtファイルを次に示します。

User-Agent: *
Disallow: /

User-Agent: googlebot
Disallow:

User-Agent: bingbot
Disallow:

User-agent: Slurp
Disallow:

一部のクローラーはrobots.txtを完全に無視し、好きなようにクロールします。一部のクローラーは、Googlebotまたは別の正当なクローラーになりすます。一部のクローラーは、Internet ExplorerやFirefoxなどのブラウザーユーザーエージェントになりすます。

Googlebotのユーザーエージェントが実際にGoogleクローラーであることを確認するための手順 があります。クローラーがアクセスしたIPアドレスに対してDNSクエリを実行する必要があります。

スパイダートラップ の概念もあります。これは、ユーザーが見つけることはできないが、クローラーは見つけることができるWebサイト上の場所です。スパイダートラップを使用して、ブラウザユーザーエージェントを装ったクローラーを特定できます。

6

前述のように、ユーザーエージェントはスプーフィングされる可能性があるため、アクセスをブロックすることは信頼できません(Google Chromeでは、開発ツールを開き、「オーバーライド」に移動してユーザーエージェントを変更できます)。主要な検索エンジンのユーザーエージェントをスプーフィングするのに十分な知識を持った人は、robots.txtによって阻止されることはありません。

改ざんされたユーザーエージェントからの保護は提供されませんが、ユーザーエージェントをブロックするためのディレクティブをサーバー構成ファイル(たとえば.htaccess)に追加すると、より多くの保護が提供されます...理由はわかりませんがやりたい.

0
adam-asdf