web-dev-qa-db-ja.com

白頭spをブロックする方法

私の訪問のほとんどは白頭spからです。私はそれが検索エンジンにまったく役立つとは思わないので、それらをブロックする方法を考えています。これはiptablesを介して実行できますか? Webサーバーとしてnginxを使用しています。

15
Zhianc

Robots.txtに追加します

#Baiduspider
User-agent: Baiduspider
Disallow: /

#Yandex
User-agent: Yandex
Disallow: /
8
Anagio

中国の検索ボットBaiduspiderが私のサイトのコンテンツにアクセスするのをブロックしました。以下の理由により、そうすることを決定しました。

ブロックを決定する理由

  1. サーバーへの約20回ごとのリクエストは、baiduボットからでした。これは無礼な動作です。 Baidubotは私のサイトの帯域幅使用量の5%を占めています。
  2. 私は自分のサイトのリソースを小さく保ち、ブラウザのキャッシュなどの技術を活用して、速度と帯域幅をわずかに高めるために多くの努力をしています。 Baidubotをブロックして、その5%を解放することを検討するのは理にかなっています。
  3. サイトのコンテンツは英国に地理的に固有であり、中国語版はなく、収益は英国市場をターゲットとした広告から得られるため、中国のトラフィックを失う可能性はビジネスにとって許容可能なリスクです。

だから、Su 'やXenophobiaに関心のある人たちが、この決定が無礼な数のリクエストに対する冷静な対応であることを理解してくれることを願っています。

方法

Baiduspiderは多くの異なるIPアドレスを使用してサーバーにアクセスしますが、これらのアドレスは特定の範囲内にあります。したがって、私の.htaccessファイルには次の行が含まれるようになりました。

order allow,deny 
allow from all
# Block access to Baiduspider 
deny from 180.76.5.0/24 180.76.6.0/24 123.125.71.0/24 220.181.108.0/24 

一番下の行は、基本的に、Baiduspiderを知っている4つのIP範囲を示しており、Baiduspiderのみがサーバーにアクセスします。 4つの範囲はそれぞれ256個の連続したアドレス(合計1024個)です。 CIDR範囲を読み取っていない場合、deny from...行のIP範囲の構文は非常に混乱しやすいことに注意してください。 0/24は0から始まる256サイズの範囲を意味するので、180.76.5.0/24は実際に180.76.5.0180.76.5.255の間のすべてのIPアドレスを意味することを理解してください。ええ、特に明白ではありません!しかし、理由を知りたい場合、または混乱を感じるだけの場合は、 http://www.mediawiki.org/wiki/Help:Range_blocks にアクセスしてください。

概要

インターネットは無料で、オープンで、公正でなければなりません。しかし、それは、Baiduのような組織がRobots.txtに従うことを学習し、クロールの規則性にあまり貪欲でないことを意味します。私の解決策は、非常に強力な設定をいじくり回すことを伴うため、.htaccessファイルをいじる前に、元のファイルをバックアップしてください。ご自身の責任で進めてください。

7
Martin Joiner

robots.txtで次のディレクティブを使用して、サイトのクロールを禁止できます。

# robots.txt
User-agent: Baiduspider
Disallow: /

ただし、クローラーmayはrobots.txtのコンテンツを無視することを決定します。さらに、ファイルは検索エンジンでキャッシュでき、変更が反映されるまでに時間がかかります。

最も効果的なアプローチは、サーバー機能を使用することです。次のルールをnginx.confファイルに追加して、サーバーレベルでバイドゥをブロックします。

if ($http_user_agent ~* ^Baiduspider) {
  return 403;
}

変更を適用するために、Nginxを再起動またはリロードすることを忘れないでください。

5
Simone Carletti

Baiduからのトラフィック量は攻撃的なスキャンには無視できるほど大きかったため、Baiduをブロックすることにしました。さらに、ブラウザを偽装してJavaScriptコード(Googleアナリティクスなど)を起動し、統計情報を台無しにするエージェントを実行するようになりました。

Niceバージョンでは、次のようにrobots.txtを更新しています

User-agent: Baiduspider
Disallow: /
User-agent: Baiduspider-video
Disallow: /
User-agent: Baiduspider-image
Disallow: /

しかし、他の人がここに書いたものと、彼らの存在を隠すユーザーエージェントを使用しているものを考慮して、私は彼らのIPアドレスを完全にブロックします。以下はnginxでどのように行われるかです

# Baidu crawlers
deny 123.125.71.0/24;
deny 180.76.5.0/24;
deny 180.76.15.0/24;
deny 220.181.108.0/24;
3
Collector

Wordpressソリューション(最適ではありませんが役立ちます)

Biaduスパイダーでも同じ問題がありました。これは、私のボックスがtopを使用してコンソールで35以上にランクされたことを示しています。明らかに、高速のコンピューターでさえ、35 ....

私はIPの数(その大学の建物から????)を数百、主に2つのユーザーエージェントで追跡しました)

直接的な結果?クラウドサーバーを持っているので、応答を低下させるために同じものをより高いメモリにアップグレードする必要がありました。

前の答え:

#Baiduspider
User-agent: Baiduspider
Disallow: /

Baiduはrobot.txtの指示を完全に尊重できないようです。

私がしたこと:

Wordpress(無料)用のWP-Banプラグインをインストールし、以下を禁止しました:

ユーザーエージェント:

  • Baiduspider+(+http://www.baidu.com/search/spider.htm)

  • Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

さらに、Wp Super Cacheを使用して、相対エラーページのアドレスを静的ページに変更します。したがって、wordpressインストール全体では、MySQLデータテーブルをチェックすることはできません。

(これは標準のWordpress blablablaであるため、この手順ではコーディングやFTPアクセスが必要ないため、Wordpressプラグインをインストールできる人は誰でもインストールできます)

私はみんなに同意します:インターネットは無料で、誰でも絶対に最後にすべきことを禁止していますが、バイドゥは今日、ポルトガルで書かれたウェブサイドをスパイダーするだけで、毎月40米ドルの費用がかかります。多くの中国人と訪問者がこの言語を読んで理解することができます。

2
Claudio Klemp

.htaccessを使用する

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Baidu [NC]
RewriteRule .*  - [L,F]

[RewriteEngine On]を使用すると、次の行が正しく解析されます。 HTTP_USER_AGENTは、スパイダーが自分自身を識別する行です。行に「MJ12bot」または「Baidu」が含まれている場合、条件は真です。 NCは「大文字と小文字を区別しない」ことを意味し、ORで条件を連鎖できます。最後の行に「OR」を含めることはできません。そうしないと、ルールが機能しません。

Baiduは、Wordpressエントリ( "fckeditor"、 "wp-content")を読み取ろうとするため、特に理由がありません。 MJ12botも悪い生き物の1つです。

書き換えルールは、403 Forbidden([F])でスパイダーをブロックしてすべてのファイル(。*は任意のファイルの正規表現)にアクセスし、htaccessのさらなる評価([L])を停止することを意味します。

1
Thorsten S.

Nginxのngx_http_access_moduleを使用してIPアドレスでブロックできます。単一のIPをブロックするには、次のようにconfファイルに行を追加できます

deny 12.34.567.1;

範囲をブロックするには、12.34.567.1 IPアドレスを含む(256 IPアドレスの)24ビットサブネットブロックに12.34.567.1/24のような CIDR 表記を使用します。詳細については、たとえば このページ を参照してください。

1
mgkrebbs