txt robots name google example content .htaccess search-engine web-crawler bots robots.txt

.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!



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