La mayoría de mis visitas son de arañas baidu. No creo que ayude en absoluto a los motores de búsqueda, así que estoy pensando en cómo bloquearlos. ¿Podría hacerse esto a través de iptables? Estoy usando nginx como mi servidor web.
fuente
La mayoría de mis visitas son de arañas baidu. No creo que ayude en absoluto a los motores de búsqueda, así que estoy pensando en cómo bloquearlos. ¿Podría hacerse esto a través de iptables? Estoy usando nginx como mi servidor web.
En su archivo robots.txt agregue
#Baiduspider
User-agent: Baiduspider
Disallow: /
#Yandex
User-agent: Yandex
Disallow: /
User-agent: *
y se siguen haciendo accesos a Baiduspider.
Acabo de bloquear con éxito que el robot Baiduspider
de búsqueda chino acceda a cualquier contenido de mi sitio. Tomé la decisión de hacerlo debido a las siguientes razones.
Razones para decidir bloquear
Por lo tanto, espero que Su 'y otras personas preocupadas por la xenofobia entiendan que esta decisión es una respuesta fría a una cantidad descortés de solicitudes.
Método
Baiduspider accede a mi servidor usando muchas direcciones IP diferentes, pero estas direcciones caen dentro de ciertos rangos. Entonces mi archivo .htaccess ahora contiene las siguientes líneas:
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 línea inferior básicamente describe 4 rangos de IP en los que sé que Baiduspider y SOLO Baiduspider accede a mi servidor. Cada uno de los 4 rangos tiene 256 direcciones consecutivas (un total de 1024). Tenga en cuenta que la sintaxis de los rangos de IP en la deny from...
línea puede ser muy confusa si no ha leído los rangos de CIDR. Solo entienda que 0/24
significa un rango de tamaño de 256 a partir de 0, por lo que en 180.76.5.0/24
realidad significa cada dirección IP entre 180.76.5.0
y 180.76.5.255
. Sí, no es particularmente obvio! Pero si desea saber por qué o simplemente disfruta de sentirse confundido, vaya a http://www.mediawiki.org/wiki/Help:Range_blocks
Resumen
Internet debe ser gratuito, abierto y justo. Pero eso significa que organizaciones como Baidu aprenden a obedecer Robots.txt y son menos codiciosos con la regularidad de sus rastreos. Mi solución consiste en jugar con configuraciones muy potentes, así que antes de perder el tiempo con el archivo .htaccess, asegúrese de hacer una copia de seguridad de su original, listo para deshacer si derriba su servidor en un resplandor de gloria. Proceda bajo su propio riesgo.
Puede usar la siguiente directiva robots.txt
para no permitir el rastreo de su sitio.
# robots.txt
User-agent: Baiduspider
Disallow: /
Sin embargo, los rastreadores pueden decidir ignorar el contenido de su archivo robots.txt. Además, los motores de búsqueda pueden almacenar en caché el archivo y lleva tiempo antes de que se reflejen los cambios.
El enfoque más efectivo es usar las capacidades de su servidor. Agregue la siguiente regla a su nginx.conf
archivo para bloquear Baidu a nivel de servidor.
if ($http_user_agent ~* ^Baiduspider) {
return 403;
}
Recuerde reiniciar o volver a cargar Nginx para aplicar los cambios.
Simplemente decidí bloquear a Baidu ya que la cantidad de tráfico que nos estaba dando era demasiado insignificante para su escaneo agresivo. Además, ahora ejecutan un agente que se hace pasar por un navegador y lanza código JavaScript (como Google Analytics) y daña nuestras estadísticas.
La buena versión está actualizando su robots.txt con lo siguiente
User-agent: Baiduspider
Disallow: /
User-agent: Baiduspider-video
Disallow: /
User-agent: Baiduspider-image
Disallow: /
Pero considerando lo que otros han escrito aquí y ellos usando un agente de usuario que oculta su presencia, bloquearía sus direcciones IP por completo. Lo siguiente es cómo se hace en 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;
Solución de Wordpress (no es la mejor pero ayuda)
El mismo problema con la araña Biadu, tan agresivo que mi caja ocupó más de 35 en mi consola usando la parte superior. Obviamente, incluso una computadora rápida no puede manejar efectivamente solicitudes externas que se ejecutan a 35 ...
Rastreé el número de IP (de ese edificio de la Universidad ????) para ser varios cientos, principalmente con dos agentes de uso)
¿Consecuencia directa? Como tengo un servidor en la nube, tuve que actualizarlo a una memoria más alta para permitir una respuesta descendente.
Respuesta anterior:
#Baiduspider
User-agent: Baiduspider
Disallow: /
Baidu parece totalmente incapaz de respetar la indicación robot.txt.
Instalé el complemento WP-Ban para Wordpress (gratis) y prohibí lo siguiente:
AGENTES DE USUARIO:
Baiduspider+(+http://www.baidu.com/search/spider.htm)
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
Además, usando Wp Super Cache, redirijo la página de error relativo a una página estática, por lo que toda la instalación de wordpress no / o al menos solo para los usuarios prohibidos verifica la tabla de datos Mysql.
(Este es el estándar de Wordpress blablabla, por lo que todos los que puedan instalar un complemento de Wordpress pueden hacerlo, ya que no se requiere codificación ni acceso ftp para este procedimiento)
Estoy de acuerdo con todos: Internet es gratis, prohibir a quien sea o lo que sea absolutamente lo último que alguien debería hacer, pero Baidoo hoy me cuesta USD 40 más / mes, solo para arañar un sitio web escrito en portugués, y tengo algunas dudas si hay Muchos chinos y visitantes pueden leer y comprender este idioma.
Puede bloquear por dirección IP usando ngx_http_access_module
nginx. Para bloquear una sola IP, puede agregar una línea al archivo conf como
deny 12.34.567.1;
Para bloquear un rango, use la notación CIDR , como 12.34.567.1/24
para el bloque de subred de 24 bits (de 256 direcciones IP) que incluye la dirección IP 12.34.567.1. Para más detalles ver, por ejemplo, esta página .
Utilice .htaccess con
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Baidu [NC]
RewriteRule .* - [L,F]
El "RewriteEngine On" le permite que las siguientes líneas se analicen correctamente. HTTP_USER_AGENT es la línea donde las arañas se identifican a sí mismas. La condición es verdadera si la línea contiene "MJ12bot" o "Baidu". NC significa "no distingue entre mayúsculas y minúsculas" y puede encadenar condiciones con OR. La última línea no debe contener "O" o la regla no funciona.
Baidu es particularmente desagradable porque intenta leer las entradas de Wordpress ("fckeditor", "wp-content") para lo cual no tiene absolutamente ninguna razón. MJ12bot es también uno de los bichos malos.
La regla de reescritura significa bloquear la araña con un 403 prohibido ([F]) para acceder a todos los archivos (. * Es una expresión regular para cualquier archivo) y detener la evaluación adicional ([L]) de htaccess.
F
bandera implica L
, por lo que no necesita incluir explícitamente la L
bandera aquí. Además, un patrón como ^.*Baidu
es igual que simplemente Baidu
.
robots.txt
reglas.