Cara memblokir laba-laba baidu


15

Sebagian besar kunjungan saya berasal dari laba-laba baidu. Saya tidak berpikir itu membantu mesin pencari sama sekali jadi saya berpikir bagaimana cara memblokirnya. Mungkinkah ini dilakukan melalui iptables? Saya menggunakan nginx sebagai server web saya.


2
kenapa tidak? Saya tidak ingin traffic Cina.
Zhianc

6
Saya tidak mengatakan Anda tidak boleh, saya bertanya mengapa mengganggu sama sekali. Apakah mereka menyakitimu dengan cara tertentu? Apakah tidak mudah untuk mengabaikan begitu saja? "Tidak menginginkan lalu lintas China" bukanlah jawaban di sini, hanya xenophobia batas. Dan memblokir satu mesin pencari hampir tidak sama dengan memblokir Cina, jadi Anda bahkan tidak masuk akal. Tampak bagi saya bahwa Anda mungkin mencari solusi berdasarkan masalah yang salah. Tapi ternyata Anda memang hanya ingin memblokir laba-laba saja, jadi silakan saja, saya kira.
Su '

7
@ Su 'Saya menemukan bahwa laba-laba baidu merangkak dengan sangat agresif di situs saya, menyebabkan penahanan untuk lalu lintas yang sah. Selain itu, saya juga menemukan bahwa laba-laba baidu tidak mematuhi robots.txtaturan.
starbeamrainbowlabs

2
Saya mendapat sekitar 1-2 hit per detik dari yang diduga laba-laba Baidu. Setiap klik menghasilkan file sesi baru di server saya. Saya memiliki skrip untuk menghapus file sesi itu tetapi laba-laba itu juga membebani server MySQL saya. Saya pasti ingin memblokir mereka.
Buttle Butkus

2
Dapat mengonfirmasi bahwa baiduspider atau sesuatu yang menyamar sebagai baiduspider merayapi situs secara tidak etis dan mengabaikan arahan robots.txt.
JMC

Jawaban:


8

Di add robots.txt Anda

#Baiduspider
User-agent: Baiduspider
Disallow: /

#Yandex
User-agent: Yandex
Disallow: /

5
Bagaimana jika mereka tidak menghormati robots.txt?
Zhianc

5
Saya mengetahui bahwa "Baiduspider / 2.0" mengakses dari alamat IP Cina tidak mematuhi robots.txt di situs saya. Juga, mereka sering menggunakan akses terkoordinasi (terpisah beberapa menit) dari blok alamat IP yang sama yang tidak menggunakan ID agen pengguna "Baiduspider".
mgkrebbs

Yandex mematuhi robots.txt Saya telah mengunci mereka sampai kami menyadari bahwa sebagian besar bisnis kami berasal dari Rusia dan harus menghapus blok. Baidu, Anda harus memeriksa netblocks. Tidak semua Baidu yang mengumumkan UA sebenarnya adalah Baidu sehingga Anda perlu melakukan blok robots.txt untuk lalu lintas Baidu yang sah dan kemudian melakukan blok string UA dalam. sisanya yang ada di sekitar blok string UA. Ini sama halnya dengan meningkatkan server Anda untuk meningkatkan lalu lintas.
Fiasco Labs

2
Saya memiliki User-agent: *dan akses baiduspider terus dilakukan.
reinierpost

3
Yandex adalah mesin pencari yang berbeda untuk pasar Rusia, jadi masukkan saja di sini ketika pertanyaannya tidak ditanyakan sama sekali dan tanpa menulis apa pun tentang hal itu agak tidak bertanggung jawab.
Kolektor

7

Saya baru saja berhasil memblokir searchbot berbahasa Mandarin Baiduspiderdari mengakses konten apa pun di situs saya. Saya membuat keputusan untuk melakukannya karena alasan berikut.

Alasan memutuskan untuk memblokir

  1. Kira-kira setiap permintaan ke-20 ke server saya berasal dari bot baidu. Ini adalah perilaku yang tidak sopan. Baidubot menyumbang 5% dari penggunaan bandwidth situs saya.
  2. Saya melakukan banyak upaya untuk menjaga sumber daya di situs saya kecil dan memanfaatkan teknologi seperti caching peramban untuk membuat kemenangan kecil dalam kecepatan dan bandwidth. Adalah logis untuk mempertimbangkan membebaskan 5% itu dengan memblokir Baidubot.
  3. Kemungkinan kehilangan beberapa lalu lintas Cina adalah risiko yang dapat diterima oleh bisnis karena konten situs secara geografis khusus untuk Inggris, tidak ada versi bahasa Cina dan pendapatan dihasilkan dari Iklan yang ditargetkan di pasar Inggris.

Jadi saya berharap Su 'dan yang lain yang peduli tentang Xenophobia akan memahami bahwa keputusan ini adalah tanggapan yang dingin terhadap sejumlah permintaan yang tidak sopan.

metode

Baiduspider mengakses server saya menggunakan banyak alamat IP yang berbeda tetapi alamat ini termasuk dalam rentang tertentu. Jadi file .htaccess saya sekarang berisi baris berikut:

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 

Intinya pada dasarnya menggambarkan 4 rentang IP di mana saya tahu Baiduspider dan HANYA Baiduspider mengakses server saya. Masing-masing dari 4 rentang adalah 256 alamat berurutan (total 1024). Harap dicatat, sintaks untuk rentang IP di deny from...telepon bisa sangat membingungkan jika Anda belum membaca tentang rentang CIDR. Hanya mengerti bahwa 0/24rentang ukuran rata-rata mulai dari 0 jadi 180.76.5.0/24sebenarnya berarti setiap alamat IP antara 180.76.5.0dan 180.76.5.255. Ya, tidak terlalu jelas! Tetapi jika Anda ingin mengetahui mengapa atau Anda hanya menikmati perasaan bingung, kunjungi http://www.mediawiki.org/wiki/Help:Range_blocks

Ringkasan

Internet harus gratis, terbuka, dan adil. Tapi itu berarti organisasi seperti Baidu belajar untuk mematuhi Robots.txt dan tidak serakah dengan keteraturan dari perayapan itu. Solusi saya melibatkan mengutak-atik pengaturan yang sangat kuat sehingga sebelum Anda dipusingkan dengan file .htaccess, pastikan untuk mencadangkan dokumen asli Anda, siap untuk dikembalikan jika Anda menurunkan server Anda dalam kobaran kejayaan. Lanjutkan dengan risiko Anda sendiri.


blok alamat IP mereka dapat berubah, sehingga perlu waktu pemeliharaan ke waktu
asgs

5

Anda dapat menggunakan arahan berikut robots.txtuntuk melarang perayapan situs Anda.

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

Namun, crawler dapat memutuskan untuk mengabaikan konten robots.txt Anda. Selain itu, file dapat di-cache oleh mesin pencari dan butuh waktu sebelum perubahan tercermin.

Pendekatan yang paling efektif adalah dengan menggunakan kemampuan server Anda. Tambahkan aturan berikut ke nginx.conffile Anda untuk memblokir Baidu di tingkat server.

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

Ingatlah untuk memulai kembali atau memuat ulang Nginx untuk menerapkan perubahan.


3

Hanya memutuskan untuk memblokir Baidu karena jumlah lalu lintas yang diberikan kepada kami terlalu kecil untuk pemindaian agresif mereka. Selain itu, mereka sekarang menjalankan agen yang menyamar sebagai peramban dan meluncurkan kode JavaScript (seperti Google Analytics) dan mengacaukan statistik kami.

Versi yang bagus sedang memperbarui robots.txt Anda dengan yang berikut ini

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

Tetapi mengingat apa yang ditulis orang lain di sini dan mereka menggunakan agen-pengguna yang menyembunyikan keberadaan mereka, saya akan memblokir alamat IP mereka sama sekali. Berikut ini adalah cara melakukannya di 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;

2

Solusi Wordpress (bukan yang terbaik tetapi membantu)

Masalah yang sama dengan laba-laba Biadu, yang agresif yang kotak saya peringkat di atas 35 di konsol saya menggunakan top. Jelas bahwa bahkan komputer cepat tidak dapat menangani permintaan luar yang berjalan dengan efektif pada 35 ....

Saya melacak jumlah IP (dari gedung Universitas itu ????) menjadi beberapa ratus, dengan terutama dua agen pengguna)

Konsekuensi langsung? Karena saya memiliki server cloud, saya harus memutakhirkan yang sama ke memori yang lebih tinggi untuk memungkinkan respons yang menurun.

Jawaban sebelumnya:

#Baiduspider
User-agent: Baiduspider
Disallow: /

Baidu tampaknya benar-benar tidak dapat menghormati indikasi robot.txt.

Apa yang saya lakukan:

Saya menginstal plugin WP-Ban untuk Wordpress (gratis) dan melarang yang berikut:

AGEN PENGGUNA:

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

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

Lebih jauh lagi menggunakan Wp Super Cache saya alamat ulang halaman kesalahan relatif ke halaman statis, sehingga instalasi seluruh wordpress tidak / atau setidaknya hanya untuk agen pengguna yang dilarang memeriksa datatable Mysql.

(Ini adalah standar Wordpress blablabla, sehingga semua orang yang dapat menginstal Plugin Wordpress dapat melakukannya, karena tidak diperlukan akses kode atau ftp untuk prosedur ini)

Saya setuju dengan semua orang: Internet gratis, melarang siapa pun atau apa pun yang benar-benar hal terakhir yang harus dilakukan siapa pun, tetapi Baidoo hari ini biayanya USD 40 lebih / bulan, hanya untuk laba-laba webside yang ditulis dalam bahasa Portugis, dan saya ragu jika ada banyak orang Tionghoa dan pengunjung dapat membaca dan memahami bahasa ini.


1

Anda dapat memblokir berdasarkan alamat IP menggunakan ngx_http_access_moduledari nginx. Untuk memblokir satu IP, Anda dapat menambahkan baris ke file conf seperti

deny 12.34.567.1;

Untuk memblokir rentang, gunakan notasi CIDR , seperti 12.34.567.1/24untuk blok subnet 24-bit (dari 256 alamat IP) yang mencakup alamat IP 12.34.567.1. Untuk lebih jelasnya lihat, misalnya, halaman ini .


1

Gunakan .htaccess dengan

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

"RewriteEngine On" memungkinkan Anda bahwa baris-baris berikut diuraikan dengan benar. HTTP_USER_AGENT adalah garis tempat laba-laba mengidentifikasi diri mereka. Kondisi ini benar jika baris berisi "MJ12bot" atau "Baidu". NC berarti "tidak peka huruf besar-kecil" dan Anda dapat menghubungkan kondisi dengan OR. Baris terakhir tidak boleh mengandung "OR" atau aturan tidak berfungsi.

Baidu sangat jahat karena mencoba membaca entri Wordpress ("fckeditor", "wp-content") yang sama sekali tidak punya alasan. MJ12bot juga salah satu makhluk buruk.

Aturan penulisan ulang berarti memblokir laba-laba dengan 403 Forbidden ([F]) untuk mengakses semua file (. * Adalah ekspresi reguler untuk file apa pun) dan menghentikan evaluasi lebih lanjut ([L]) dari htaccess.


1
The Fbendera menyiratkan L, sehingga Anda tidak perlu secara eksplisit menyertakan Lbendera di sini. Juga, pola suka ^.*Baidusama saja Baidu.
MrWhite
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.