Come bloccare i ragni baidu


15

La maggior parte delle mie visite proviene da ragni baidu. Non credo che aiuti affatto i motori di ricerca, quindi sto pensando a come bloccarli. Questo potrebbe essere fatto tramite iptables? Sto usando nginx come mio server web.


2
perché non dovrei? Non voglio traffico cinese.
Zhianc,

6
Non sto dicendo che non dovresti, sto chiedendo perché preoccuparsi affatto. Ti stanno facendo del male in qualche modo? Non è più semplice ignorare? "Non volere il traffico cinese" non è in realtà una risposta qui, solo la xenofobia limite. E bloccare un motore di ricerca non è quasi la stessa cosa che bloccare il cinese, quindi non hai nemmeno davvero senso. Mi è sembrato che avresti potuto cercare una soluzione basata su un problema difettoso. Ma a quanto pare vuoi arbitrariamente bloccare qualche ragno, quindi vai avanti, immagino.
Su '

7
@Su 'Ho scoperto che il ragno baidu ha strisciato in modo estremamente aggressivo sul mio sito, causando ritardi per il traffico legittimo. Inoltre, ho anche scoperto che il ragno baidu non obbedisce alle robots.txtregole.
starbeamrainbowlabs il

2
Ricevo circa 1-2 colpi al secondo dai presunti ragni Baidu. Ogni hit genera un nuovo file di sessione sul mio server. Ho uno script per rimuovere quei file di sessione ma quegli spider sovraccaricano anche il mio server MySQL. Voglio assolutamente bloccarli.
Buttle Butkus,

2
Può confermare che baiduspider o qualcosa in posa come baiduspider esegue la scansione non etica dei siti e ignora le direttive robots.txt.
JMC,

Risposte:


8

Nel tuo robots.txt aggiungi

#Baiduspider
User-agent: Baiduspider
Disallow: /

#Yandex
User-agent: Yandex
Disallow: /

5
E se non rispettano robots.txt?
Zhianc,

5
Mi capita di sapere che gli accessi "Baiduspider / 2.0" dagli indirizzi IP cinesi non obbediscono a robots.txt sul mio sito. Inoltre, usano spesso accessi coordinati (distanti alcuni minuti) dallo stesso blocco di indirizzi IP che non utilizzano l'ID agente utente "Baiduspider".
mgkrebbs,

Yandex obbedisce a robots.txt Li ho bloccati fino a quando non ci siamo resi conto che una buona parte della nostra attività veniva dalla Russia e dovevamo rimuovere il blocco. Baidu, devi controllare i netblock. Non tutti Baidu hanno annunciato che UA è in realtà Baidu, quindi devi fare un blocco robots.txt per il traffico Baidu legittimo e quindi fare un blocco di stringhe UA nel tuo .htaccess per ciò che rimane e quindi sprecare la tua vita facendo blocco per identificazione di blocco e rifiuto per il resto che circonda il blocco di stringhe UA. È tanto lavoro quanto rinforzare il server per assorbire il traffico.
Fiasco Labs

2
Ho User-agent: *e gli accessi a baiduspider continuano ad essere fatti.
reinierpost,

3
Yandex è un motore di ricerca diverso per il mercato russo, quindi includerlo qui quando la domanda non si pone affatto e senza scrivere nulla al riguardo è alquanto irresponsabile.
Collezionista il

7

Ho appena bloccato con successo il searchbot cinese Baiduspiderdall'accesso a qualsiasi contenuto sul mio sito. Ho preso la decisione di farlo a causa dei seguenti motivi.

Motivi per decidere di bloccare

  1. Circa ogni 20 richiesta al mio server proveniva da un bot baidu. Questo è un comportamento non polite. Baidubot rappresenta il 5% dell'utilizzo della larghezza di banda dei miei siti.
  2. Faccio molti sforzi per mantenere piccole le risorse sul mio sito e sfruttare la tecnologia come la memorizzazione nella cache del browser per ottenere piccole vittorie in termini di velocità e larghezza di banda. È logico considerare di liberare quel 5% bloccando Baidubot.
  3. La possibilità di perdere parte del traffico cinese è un rischio accettabile per l'azienda in quanto il contenuto del sito è geograficamente specifico per il Regno Unito, non esiste una versione in lingua cinese e le entrate sono generate dalla pubblicità destinata al mercato del Regno Unito.

Quindi spero che Su 'e gli altri, preoccupati per la xenofobia, capiscano che questa decisione è una risposta decisa a un numero non rigoroso di richieste.

Metodo

Baiduspider accede al mio server utilizzando molti indirizzi IP diversi, ma questi indirizzi rientrano in determinati intervalli. Quindi il mio file .htaccess ora contiene le seguenti righe:

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 

La linea di fondo descrive fondamentalmente 4 intervalli IP in cui conosco Baiduspider e SOLO Baiduspider accede al mio server. Ciascuno dei 4 intervalli è di 256 indirizzi consecutivi (totale 1024). Nota: la sintassi per gli intervalli IP sulla deny from...linea può essere molto confusa se non hai letto gli intervalli CIDR. Basta capire che 0/24significa un intervallo di 256 dimensioni a partire da 0, quindi in 180.76.5.0/24realtà significa ogni indirizzo IP tra 180.76.5.0e 180.76.5.255. Sì, non particolarmente ovvio! Ma se vuoi imparare il perché o ti diverti a sentirti confuso, vai su http://www.mediawiki.org/wiki/Help:Range_blocks

Sommario

Internet dovrebbe essere gratuito, aperto ed equo. Ciò significa che organizzazioni come Baidu imparano a obbedire a Robots.txt e ad essere meno avide con la regolarità delle sue ricerche per indicizzazione. La mia soluzione prevede di armeggiare con impostazioni molto potenti, quindi prima di scherzare con il file .htaccess assicurati di eseguire il backup dell'originale, pronto per il rollback se spegni il tuo server in un tripudio di gloria. Procedete a vostro rischio.


i loro blocchi di indirizzi IP possono cambiare, quindi ha bisogno di manutenzione
periodicamente

5

Puoi utilizzare la seguente direttiva robots.txtper impedire la scansione del tuo sito.

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

Tuttavia, i crawler possono decidere di ignorare il contenuto di robots.txt. Inoltre, il file può essere memorizzato nella cache dai motori di ricerca e ci vuole tempo prima che vengano riflesse le modifiche.

L'approccio più efficace consiste nell'utilizzare le funzionalità del server. Aggiungi la seguente regola al tuo nginx.conffile per bloccare Baidu a livello di server.

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

Ricordare di riavviare o ricaricare Nginx per applicare le modifiche.


3

Ho appena deciso di bloccare Baidu poiché la quantità di traffico che ci stava fornendo era troppo trascurabile per la loro scansione aggressiva. Inoltre, ora eseguono un agente che impersona un browser e avvia codice JavaScript (come Google Analytics) e ha incasinato le nostre statistiche.

La bella versione aggiorna il tuo robots.txt con il seguente

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

Ma considerando ciò che altri hanno scritto qui e loro usando un user-agent che nasconde la loro presenza, bloccherei completamente i loro indirizzi IP. Quello che segue è come è fatto in 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

Soluzione Wordpress (non la migliore ma aiuta)

Stesso problema con il ragno Biadu, quell'aggressivo che la mia scatola ha classificato oltre 35 nella mia console usando top. Ovviamente anche un computer veloce non può gestire efficacemente le richieste esterne in esecuzione a 35 ....

Ho rintracciato il numero di IP (da quell'edificio dell'Università ????) a diverse centinaia, con principalmente due useragents)

Conseguenza diretta? Dato che ho un server cloud, ho dovuto aggiornare lo stesso a memoria più alta per consentire una risposta decente.

Risposta precedente:

#Baiduspider
User-agent: Baiduspider
Disallow: /

Baidu sembra totalmente incapace di rispettare l'indicazione robot.txt.

Cosa ho fatto:

Ho installato il plugin WP-Ban per Wordpress (gratuito) e ho vietato quanto segue:

AGENTI UTENTE:

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

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

Inoltre, usando Wp Super Cache, reindirizzo la relativa pagina di errore a una pagina statica, quindi l'intera installazione di wordpress non controlla / o almeno solo per gli useragent vietati che controllano il datatable di Mysql.

(Questo è il blablabla standard di Wordpress, quindi chiunque sia in grado di installare un plug-in di Wordpress può farlo, poiché per questa procedura non è necessario alcun codice o accesso ftp)

Sono d'accordo con tutti: Internet è gratuito, vietando chiunque o qualunque altra cosa sia l'ultima cosa che qualcuno dovrebbe fare, ma Baidoo oggi mi costa 40 USD in più al mese, solo per scoprire un sito web scritto in Portughese, e ho qualche dubbio se ci sono molti cinesi e visitatori sono in grado di leggere e comprendere questa lingua.


1

Puoi bloccare per indirizzo IP usando il ngx_http_access_modulenginx. Per bloccare un singolo IP è possibile aggiungere una riga al file conf come

deny 12.34.567.1;

Per bloccare un intervallo, utilizzare la notazione CIDR , come 12.34.567.1/24per il blocco subnet a 24 bit (di 256 indirizzi IP) che include l'indirizzo IP 12.34.567.1. Per maggiori dettagli vedi, ad esempio, questa pagina .


1

Usa .htaccess con

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

"RewriteEngine On" consente di analizzare correttamente le seguenti righe. HTTP_USER_AGENT è la linea in cui gli spider si stanno identificando. La condizione è vera se la riga contiene "MJ12bot" o "Baidu". NC significa "non sensibile al maiuscolo / minuscolo" e puoi concatenare condizioni con OR. L'ultima riga non deve contenere "OR" o la regola non funziona.

Baidu è particolarmente sgradevole perché cerca di leggere le voci di Wordpress ("fckeditor", "wp-content") per le quali non ha assolutamente motivo. MJ12bot è anche una delle creature cattive.

La regola di riscrittura significa bloccare il ragno con un 403 proibito ([F]) per accedere a tutti i file (. * È un'espressione regolare per qualsiasi file) e interrompere l'ulteriore valutazione ([L]) di htaccess.


1
La Fbandiera implica L, quindi non è necessario includere esplicitamente la Lbandiera qui. Inoltre, un modello simile ^.*Baiduè lo stesso del semplice Baidu.
MrWhite,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.