Baidu örümcekleri nasıl engellenir


15

Ziyaretlerimin çoğu baidu örümceklerinden. Arama motorlarına hiç yardımcı olmadığını düşünmüyorum, bu yüzden onları nasıl engelleyeceğinizi düşünüyorum. Bu iptables ile yapılabilir mi? Web sunucum olarak nginx kullanıyorum.


2
neden olmasın? Çin trafiği istemiyorum.
Zhianc

6
Yapmaman gerektiğini söylemiyorum, neden hiç rahatsız olduğunu soruyorum. Seni bir şekilde incitiyorlar mı? Sadece görmezden gelmek kolay değil mi? "Çin trafiğini istememek" burada gerçekten bir cevap değil, sadece sınırda yabancı düşmanlığı. Ve bir arama motorunu engellemek, Çinlileri engellemekle hemen hemen aynı şey değildir, bu yüzden gerçekten mantıklı değilsiniz. Hatalı bir soruna dayanan bir çözüm arıyor olabilirsiniz. Ama görünüşe göre sen sadece keyfi olarak bir örümcek engellemek istiyorsun, bu yüzden devam et, sanırım.
Su '

7
@Su 'Baidu örümceğinin sitemde aşırı agresif bir şekilde tarandığını ve meşru trafik için beklemeye neden olduğunu buldum. Dahası, baidu örümceğinin robots.txtkurallara uymadığını da buldum .
starbeamrainbowlabs

2
Sözde Baidu örümceklerinden saniyede yaklaşık 1-2 vuruş alıyorum. Her isabet sunucumda yeni bir oturum dosyası oluşturur. Bu oturum dosyalarını kaldırmak için bir komut dosyası var ama bu örümcekler de MySQL sunucumu aşırı yüklüyor. Kesinlikle onları engellemek istiyorum.
Buttle Butkus

2
Baiduspider'ın veya baiduspider olarak poz veren bir şeyin siteleri etik dışı taradığını ve robots.txt yönergelerini yoksaydığını doğrulayabilir.
JMC

Yanıtlar:


8

Robots.txt dosyanızda

#Baiduspider
User-agent: Baiduspider
Disallow: /

#Yandex
User-agent: Yandex
Disallow: /

5
Ya robots.txt dosyasına saygı duymazlarsa?
Zhianc

5
Çince IP adreslerinden "Baiduspider / 2.0" erişiminin sitemdeki robots.txt'ye uymadığını biliyorum. Ayrıca, genellikle aynı IP adres bloğundan "Baiduspider" kullanıcı aracısı kimliğini kullanmayan koordineli erişimleri (birkaç dakika arayla) kullanırlar.
mgkrebbs

Yandex robots.txt'ye uyuyor İşimizin iyi bir parçasının Rusya'dan geldiğini ve bloğu kaldırmak zorunda kalana kadar onları kilitledim. Baidu, netblokları kontrol etmelisin. Tüm Baidu UA'nın aslında Baidu olmadığını duyurdu, bu yüzden meşru Baidu trafiği için bir robots.txt bloğu yapmanız ve ardından .htaccess'inizde bir UA dize bloğu yapmanız ve ardından blok tanımlama ve inkar yoluyla hayatınızı bloke etmeniz gerekiyor. geri kalanı UA string bloğu etrafında döner. Trafiği almak için sunucunuzu güçlendirmek kadar işe yarar.
Fiasco Labs

2
User-agent: *Baiduspider erişimim var ve devam ediyor.
reinierpost

3
Yandex, Rus pazarı için farklı bir arama motorudur, bu yüzden soru hiç sorulmadığında ve bu konuda hiçbir şey yazmadan buraya dahil etmek biraz sorumsuzdur.
Koleksiyoner

7

Çince arama botunun Baiduspidersitemdeki herhangi bir içeriğe erişmesini başarıyla engelledim . Aşağıdaki nedenlerden dolayı bu kararı verdim.

Engellemeye karar verme nedenleri

  1. Sunucuma yaklaşık her 20 istek bir baidu botundan geliyordu. Bu kaba davranış. Baidubot sitelerimin bant genişliği kullanımının% 5'ini oluşturuyor.
  2. Hız ve bant genişliğinde küçük kazançlar elde etmek için sitemdeki kaynakları küçük tutmak ve tarayıcı önbellekleme gibi teknolojiden yararlanmak için çok çaba sarf ediyorum. Baidubot'u engelleyerek% 5'i serbest bırakmayı düşünmek mantıklı.
  3. Bazı Çin trafiğini kaybetme olasılığı, sitenin içeriği coğrafi olarak İngiltere'ye özgü olduğundan, Çince dil sürümü olmadığından ve gelir İngiltere pazarını hedefleyen Reklamlardan elde edildiğinden, işletme için kabul edilebilir bir risktir.

Umarım Su 've Xenophobia hakkında endişe duyanlar, bu kararın çok sayıda talebe karşı serin bir yanıt olduğunu anlayacaklardır.

Yöntem

Baiduspider, sunucuma birçok farklı IP adresi kullanarak erişir, ancak bu adresler belirli aralıklara girer. Yani .htaccess dosyam şu anda aşağıdaki satırları içeriyor:

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 

Alt satırda, Baiduspider'ın ve SADECE Baiduspider'in sunucuma eriştiğini bildiğim 4 IP aralığı açıklanıyor. 4 aralığın her biri birbirini takip eden 256 adrestir (toplam 1024). deny from...CIDR aralıklarında okuma yapmadıysanız , hattaki IP aralıklarının sözdiziminin çok kafa karıştırıcı olabileceğini lütfen unutmayın . Sadece 0/240'dan başlayan 256 boyut aralığı 180.76.5.0/24anlamına gelir, bu yüzden 180.76.5.0ve arasındaki her IP adresi anlamına gelir 180.76.5.255. Evet, belli değil! Ama nedenini öğrenmek istiyorsanız veya sadece şaşkın hissetmekten hoşlanıyorsanız http://www.mediawiki.org/wiki/Help:Range_blocks adresine gidin.

özet

İnternet özgür, açık ve adil olmalıdır. Ancak bu, Baidu gibi kuruluşların Robots.txt'ye itaat etmeyi öğrenmesi ve taramalarının düzenliliği ile daha az açgözlü olmaları anlamına gelir. Benim çözümüm çok güçlü ayarlarla uğraşmayı içerir, bu nedenle .htaccess dosyasıyla uğraşmadan önce, sunucunuzu bir ihtişamla indirirseniz orijinalinizi geri almaya hazır olduğunuzdan emin olun. Kendi sorumluluğunuzdadır.


IP adres blokları değişebilir, bu nedenle zaman zaman bakım gerektirir
15'te

5

robots.txtSitenizin taranmasına izin vermemek için aşağıdaki yönergeyi kullanabilirsiniz .

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

Ancak, tarayıcıların olabilir robots.txt içeriğini görmezden karar verirler. Ayrıca, dosya arama motorları tarafından önbelleğe alınabilir ve değişikliklerin yansıtılması zaman alır.

En etkili yaklaşım, sunucu yeteneklerinizi kullanmaktır. nginx.confBaidu'yu sunucu düzeyinde engellemek için dosyanıza aşağıdaki kuralı ekleyin .

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

Değişiklikleri uygulamak için Nginx'i yeniden başlatmayı veya yeniden yüklemeyi unutmayın.


3

Sadece bize verdiği trafik miktarı agresif tarama için çok ihmal edilebilir olduğu için Baidu engellemeye karar verdi. Ayrıca, artık bir tarayıcıyı taklit eden ve JavaScript kodunu (Google Analytics gibi) başlatan ve istatistiklerimizi dağıtan bir aracı çalıştırıyorlar.

Güzel sürüm robots.txt'nizi aşağıdakilerle güncelliyor

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

Ancak başkalarının burada yazdıklarını ve varlıklarını gizleyen bir kullanıcı aracısı kullanarak yazdıklarını göz önünde bulundurarak IP adreslerini tamamen engellerdim. Nginx'te şu şekilde yapılır

# 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

Wordpress çözümü (en iyisi değil, yardımcı olur)

Biadu örümceği ile aynı sorun, kutumun üst konsol kullanarak konsolumda 35'in üzerinde yer alması. Açıkçası hızlı bir bilgisayar bile 35 de çalışan istekleri dışında etkili bir şekilde işleyemez ....

IP'lerin sayısını (o Üniversite binasından ????) birkaç yüzlerce, esas olarak iki kullanıcı ile takip ettim.

Doğrudan sonuç? Bir bulut sunucum olduğu için, bir decend yanıtına izin vermek için aynı şeyi daha yüksek belleğe yükseltmem gerekti.

Önceki cevap:

#Baiduspider
User-agent: Baiduspider
Disallow: /

Baidu, robot.txt göstergesine tamamen saygı göstermiyor gibi görünüyor.

Ben ne yaptım:

Wordpress için WP-Ban eklentisini yükledim (ücretsiz) ve aşağıdakileri yasakladım:

KULLANICI AJANLARI:

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

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

Ayrıca Wp Süper Önbellek kullanarak göreceli hata sayfasını statik bir sayfaya yeniden yönlendiririm, bu nedenle tüm wordpress yüklemesi Mysql veri tablosunu kontrol etmez / veya en azından sadece yasaklanmış kullanıcılar için kontrol etmez.

(Bu standart Wordpress blablabla, bu nedenle bir Wordpress Eklentisi kurabilen herkes bunu yapabilir, çünkü bu prosedür için kodlama veya ftp erişimi gerekmez)

Herkese katılıyorum: İnternet ücretsizdir, kimin ya da her neyse kesinlikle herkesin yapması gereken son şey yasaklanır, ancak Baidoo bugün sadece ayda 40 ABD dolarına mal oluyor, sadece Portughese'de yazılmış bir webside örümcek için ve eğer varsa bazı şüphelerim var Birçok Çinli ve ziyaretçi bu dili okuyup anlayabiliyor.


1

ngx_http_access_moduleNginx kullanarak IP adresine göre engelleyebilirsiniz . Tek bir IP'yi engellemek için conf dosyasına bir satır ekleyebilirsiniz.

deny 12.34.567.1;

Bir aralığı engellemek için, 12.34.567.1 IP adresini içeren 24 bit alt ağ bloğunda (256 IP adresinden) olduğu gibi CIDR gösterimini kullanın 12.34.567.1/24. Daha fazla ayrıntı için, örneğin bu sayfaya bakınız .


1

İle .htaccess kullanın

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

"RewriteEngine On" aşağıdaki satırların doğru ayrıştırılmasını sağlar. HTTP_USER_AGENT, örümceklerin kendilerini tanımladığı çizgidir. Çizgi "MJ12bot" veya "Baidu" içeriyorsa koşul doğrudur. NC "büyük / küçük harfe duyarlı değildir" anlamına gelir ve koşulları OR ile zincirleyebilirsiniz. Son satır "OR" içermemelidir veya kural çalışmaz.

Baidu özellikle kötüdür çünkü kesinlikle hiçbir nedeni yoktur. MJ12bot da kötü yaratıklardan biridir.

Yeniden Yazma kuralı, tüm dosyalara (. * Herhangi bir dosya için normal bir ifadedir) erişmek ve htaccess'in daha fazla değerlendirilmesini ([L]) durdurmak için örümceği 403 Yasak ([F]) ile engellemek anlamına gelir.


1
FBayrak ima Laçıkça içerecek şekilde böylece gerek yok, Lburada bayrağı. Ayrıca, benzer bir desen ^.*Baidubasitçe aynıdır Baidu.
MrWhite
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.