私の訪問のほとんどは白頭spからです。検索エンジンにはまったく役に立たないと思うので、検索エンジンをブロックする方法を考えています。これはiptablesを介して実行できますか?Webサーバーとしてnginxを使用しています。
robots.txt
rulesが規則に従わないことも発見しました。
私の訪問のほとんどは白頭spからです。検索エンジンにはまったく役に立たないと思うので、検索エンジンをブロックする方法を考えています。これはiptablesを介して実行できますか?Webサーバーとしてnginxを使用しています。
robots.txt
rulesが規則に従わないことも発見しました。
回答:
robots.txtに追加します
#Baiduspider
User-agent: Baiduspider
Disallow: /
#Yandex
User-agent: Yandex
Disallow: /
User-agent: *
バイススパイダーにアクセスし続けています。
中国の検索ボットBaiduspider
が私のサイトのコンテンツにアクセスすることをブロックしました。以下の理由により、そうすることを決定しました。
ブロックすることを決定する理由
だから、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個)です。deny from...
CIDR範囲を参照していない場合、行のIP範囲の構文は非常に混乱しやすいことに注意してください。ただ、ということを理解0/24
256サイズの範囲は0から始まる手段はそれほど180.76.5.0/24
実際の間のすべてのIPアドレスを意味180.76.5.0
して180.76.5.255
。ええ、特に明白ではありません!しかし、理由を知りたい場合、または混乱を感じるだけの場合は、http://www.mediawiki.org/wiki/Help:Range_blocksにアクセスしてください。
概要
インターネットは無料で、オープンで、公正でなければなりません。しかし、これは、Baiduのような組織がRobots.txtに従うことを学習し、クロールの規則性にあまり貪欲であることを意味します。私の解決策は、非常に強力な設定をいじくり回すことを伴うため、.htaccessファイルをいじる前に、元のサーバーを必ずバックアップしてください。ご自身の責任で進めてください。
次のディレクティブを使用してrobots.txt
、サイトのクロールを禁止できます。
# robots.txt
User-agent: Baiduspider
Disallow: /
ただし、クローラーは robots.txtのコンテンツを無視する場合があります。さらに、ファイルは検索エンジンでキャッシュでき、変更が反映されるまでに時間がかかります。
最も効果的なアプローチは、サーバー機能を使用することです。次のルールをnginx.conf
ファイルに追加して、サーバーレベルでバイドゥをブロックします。
if ($http_user_agent ~* ^Baiduspider) {
return 403;
}
変更を適用するために、Nginxを再起動またはリロードすることを忘れないでください。
Baiduからのトラフィック量は攻撃的なスキャンには無視できるほど大きかったため、Baiduをブロックすることにしました。さらに、ブラウザを偽装してJavaScriptコード(我々アナリティクスなど)を起動し、統計情報を台無しにするエージェントを実行するようになりました。
素敵なバージョンは、次のように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;
Wordpressソリューション(最適ではありませんが役立ちます)
Biaduスパイダーの問題と同じで、トップを使用してコンソールで私のボックスが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であるため、Wordpressプラグインをインストールできる人は誰でも行うことができます。この手順ではコーディングやFTPアクセスは不要です)
私はみんなに同意します:インターネットは無料で、誰でも絶対に最後にすべきことを禁止しますが、バイドゥは今日、ポルトガルで書かれたウェブサイドをスパイダーするだけで、毎月40米ドルの費用がかかります。多くの中国人と訪問者がこの言語を読んで理解することができます。
ngx_http_access_module
of nginx を使用してIPアドレスでブロックできます。単一のIPをブロックするには、次のようにconfファイルに行を追加できます
deny 12.34.567.1;
範囲をブロックするには、12.34.567.1 IPアドレスを含む(256 IPアドレスの)24ビットサブネットブロックのように、CIDR表記を使用し12.34.567.1/24
ます。詳細については、たとえば、このページを参照してください。
.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])を停止することを意味します。
F
フラグは意味L
を明示的に含める必要はありませんので、L
ここにフラグを。また、のようなパターン^.*Baidu
は単にと同じですBaidu
。