ホームページ >バックエンド開発 >PHPチュートリアル >不親切な検索エンジンロボットのスパイダークローラーを止めるにはどうすればよいでしょうか?

不親切な検索エンジンロボットのスパイダークローラーを止めるにはどうすればよいでしょうか?

WBOY
WBOYオリジナル
2016-06-23 14:04:191121ブラウズ

今日、サーバー上で MYSQL トラフィックが非常に多いことがわかりました。そこでログを確認すると、不親切なスパイダー クローラーが存在し、時間を確認すると 1 秒間に 7 ~ 8 回ページにアクセスし、Web サイトのサイト検索ページ全体にアクセスしました。リスニングせずにデータベースにクエリを実行するだけです。
皆さんにお聞きしたいのですが、このような問題を防ぐ方法はありますか?今、私はこの IP アドレスを沈黙させました


ディスカッションに返信 (解決策)

良い方法はありません。どの IP が頻繁にアクセスされるかを観察し、疑わしい IP をブロックできます。

プログラムでは、同じ IP への 2 回のアクセス間の時間間隔を設定できます。

良い方法はありません。どの IP が頻繁にアクセスされるかを観察し、疑わしい IP を禁止できます。

プログラムでは、同じ IP への 2 回のアクセス間の時間間隔を設定できます。
ありがとうございます。DISCUZ を見てみると、クローラーのアクセス先を設定できる robots.txt があるようですが、これは便利ですか?

今日、サーバー上で MYSQL トラフィックが非常に多いことがわかりました。そこでログを確認すると、不親切なスパイダー クローラーが存在し、時間を確認すると 1 秒間に 7 ~ 8 回ページにアクセスし、Web サイトのサイト検索ページ全体にアクセスしました。リスニングせずにデータベースにクエリを実行するだけです。
皆さんにお聞きしたいのですが、このような問題を防ぐ方法はありますか?この IP アドレスを凍結しました
まずは学びましょう!

robots.txt は、検索エンジンが準拠する普遍的な仕様です。検索エンジンはまず robots.txt をクロールし、そこに含まれる制約に従ってクロールします。

重要なのは、アクセス ログを見て、どのクローラーがそれを閲覧しているかを確認することです。ユーザー エージェントのヘッダーには、どの Web サイトからのクローラーであるかがマークされます。

まず、access_log の形式を設定してユーザーエージェントに出力し、サーバーを再起動して、しばらく待ってから access_log を再読み込みして、それが正常なクローラーであるかどうかを確認します。異常なクローラーがある場合は、 IPアクセスを制限するしかありません。

Baidu の各種スパイダー名:

user-agent に対応する製品名
Web 検索 Baiduspider
ワイヤレス検索 Baiduspider-mobile
画像検索 Baiduspider-image
ビデオ検索 Baiduspider-video
ニュース検索 Baiduspider-news
Baidu collection Baiduspider - favo
Baidu Alliance Baiduspider-cpro

Baidu のクローラーです。

さて、しかし今度は、各 IP クエリの間隔を制御するプログラムを書くつもりです。

robots.txt はほとんどのクローラーにとって依然として便利であり、直接ブロックできますが、Baidu などの一部のクローラーではブロックできません

本来は robots.txt で十分ですが、常に追加します。誰かがルールに従っていないので、それを記録して特定の IP アドレスをブロックする必要があります...


もちろん、https も使用できます... (笑)

このクローラーは 1 秒あたり 7.8 回実行します。彼はあなたのrobots.txtを見ると思いますか?

百度はこのタイプのコレクターどころか、見向きもしません。

頻度を特定するか、その ua ヘッダーを分析し、断固として禁止します。どういたしまして

コレクタークローラーも同じ原理ですよね?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。