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.
robots.txtregole.
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.
robots.txtregole.
Risposte:
Nel tuo robots.txt aggiungi
#Baiduspider
User-agent: Baiduspider
Disallow: /
#Yandex
User-agent: Yandex
Disallow: /
User-agent: *e gli accessi a baiduspider continuano ad essere fatti.
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
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.
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.
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;
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.
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.
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 .
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.
Fbandiera implica L, quindi non è necessario includere esplicitamente la Lbandiera qui. Inoltre, un modello simile ^.*Baiduè lo stesso del semplice Baidu.