.htaccess - name - robots.txt google
cómo prohibir el rastreador 360Spider con robots.txt o.htaccess? (8)
Tengo un problema debido a 360Spider: este bot hace demasiadas solicitudes por segundo a mi VPS y lo ralentiza (el uso de la CPU se convierte en 10-70%, pero generalmente tengo 1-2%). Busqué en los registros de httpd y vi esas líneas:
182.118.25.209 - - [06/Sep/2012:19:39:08 +0300] "GET /slovar/znachenie-slova/42957-polovity.html HTTP/1.1" 200 96809 "http://www.hrinchenko.com/slovar/znachenie-slova/42957-polovity.html" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11; 360Spider
182.118.25.208 - - [06/Sep/2012:19:39:08 +0300] "GET /slovar/znachenie-slova/52614-rospryskaty.html HTTP/1.1" 200 100239 "http://www.hrinchenko.com/slovar/znachenie-slova/52614-rospryskaty.html" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11; 360Spider
etc.
¿Cómo puedo bloquear esta araña completamente a través de robots.txt? Ahora mi robots.txt se ve así:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
User-agent: YoudaoBot
Disallow: /
User-agent: sogou spider
Disallow: /
He agregado líneas:
User-agent: 360Spider
Disallow: /
pero eso no parece funcionar. ¿Cómo bloquear a este enojado robot?
Si le ofrece bloquearlo a través de .htaccess, tenga en cuenta que ahora se ve así:
# Turn on URL rewriting
RewriteEngine On
# Installation directory
RewriteBase /
SetEnvIfNoCase Referer ^360Spider$ block_them
Deny from env=block_them
# Protect hidden files from being viewed
<Files .*>
Order Deny,Allow
Deny From All
</Files>
# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)/b.* index.php/$0 [L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]
Y, a pesar de la presencia de
SetEnvIfNoCase Referer ^360Spider$ block_them
Deny from env=block_them
este bot todavía intenta matar mi VPS y está registrado en los registros de acceso.
La persona que ejecuta el rastreador puede estar ignorando el archivo robots.txt. Podrías bloquearlos a través de IP
orden denegar, permitir
negar desde 216.86.192.196
en .htaccess
SetEnvIfNoCase User-agent 360Spider bloqueado
Tengo líneas en mi archivo .htaccess
como esta para bloquear bots malos:
RewriteEngine On
RewriteCond %{ENV:bad} 1
RewriteCond %{REQUEST_URI} !/forbidden.php
RewriteRule (.*) - [R=402,L]
SetEnvIf Remote_Addr "^38/.99/." bad=1
SetEnvIf Remote_Addr "^210/.195/.45/." bad=1
SetEnvIf Remote_Addr "^207/.189/." bad=1
SetEnvIf Remote_Addr "^69/.84/.207/." bad=1
# ...
SetEnvIf Remote_Addr "^221/.204/." bad=1
SetEnvIf User-agent "360Spider" bad=1
Enviará el código de estado 402 Payment Required
a todas las direcciones IP / agentes de usuario incluidos en la lista negra.
Puedes poner todo lo que quieras que se muestre al robot en forbidden.php
.
Es bastante efectivo.
En su archivo .htaccess simplemente agregue lo siguiente:
RewriteCond %{REMOTE_ADDR} ^(182/.118/.2) RewriteRule ^.*$ http://182.118.25.209/take_a_hike_moron [R=301,L]
Esto capturará TODOS los bots lanzados desde el rango 182.118.2xx.xxx y los enviará de vuelta a ellos mismos ...
El Crappy 360 Bot se está disparando desde los servidores en China ... así que mientras no te importe decir adiós al asqueroso tráfico chino desde ese rango de IP, esto garantizará que esos cachorros desaparezcan de los archivos de tu sitio web. .
Las dos líneas siguientes en su archivo .htaccess también lo eliminarán simplemente por ser lo suficientemente estúpido como para poner orgullosamente 360spider en su cadena de agente de usuario. Esto podría ser útil para cuando usan otros rangos de IP luego el 182.118.2xx.xxx
RewriteCond %{HTTP_USER_AGENT} .*(360Spider) [NC] RewriteRule ^.*$ http://182.118.25.209/take_a_hike_moron [R=301,L]
Y sí ... ¡los odio también!
Solo tuve que bloquear 360Spider. Resuelto con StreamCatcher en IIS (IIS7), que afortunadamente ya estaba instalado, por lo que solo se necesitaba un pequeño cambio de configuración. Detalles en http://needs-be.blogspot.com/2013/02/how-to-block-spider360.html
Uso lo siguiente, ¡y ayuda mucho! Verifique HTTP_USER_AGENT para bots malos
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots/.txt$
RewriteCond %{REQUEST_URI} !^/error/.html$
RewriteCond %{HTTP_USER_AGENT} EasouSpider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} YisouSpider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Sogou/ web/ spider [NC]
RewriteCond %{HTTP_USER_AGENT} 360Spider [NC,OR]
RewriteRule ^.*$ - [F,L]
</IfModule>
<Location />
<IfModule mod_setenvif.c>
SetEnvIfNoCase User-Agent "EasouSpider" bad_bot
SetEnvIfNoCase User-Agent "YisouSpider" bad_bot
SetEnvIfNoCase User-Agent "LinksCrawler" bad_bot
Order Allow,Deny
Allow from All
Deny from env=bad_bot
</IfModule>
</Location>
Puede poner las siguientes reglas en su archivo .htaccess
RewriteEngine On
RewriteBase /
SetEnvIfNoCase Referer 360Spider$ block_them
Deny from env=block_them
Nota: El módulo Apache mod_setenvif
debe estar habilitado en la configuración de su servidor
Tu robots.txt parece correcto. Algunos bots simplemente lo ignoran (los bots maliciosos se arrastran desde cualquier dirección IP desde cualquier red zombi de cientos a millones de dispositivos infectados de todo el mundo), en este caso puedes limitar el número de solicitudes por segundo usando el módulo mod_security para apache 2.X
Ejemplo de configuración aquí: http://blog.cherouvim.com/simple-dos-protection-with-mod_security/
[EDIT] En linux, iptables también permite restringir tcp: conexiones de puerto por (x) segundo (s) por ip, siempre que las capacidades de conntrack estén habilitadas en su kernel. Ver: https://serverfault.com/questions/378357/iptables-dos-limit-for-all-ports