De vuelta
on Sunday, September 9, 2007Los que visitáis frecuentemente mi página (que los hay) habréis comprobado que hace unos días tuvo un comportamiento bastante irregular estando inaccesible la mayor parte del tiempo. Esto se debe a dos motivos.
La abusiva frecuencia con la que el nuevo buscador Cuill rastrea páginas web exprimiendo el ancho de banda con más de 1.000 peticiones diarias, la mayoría de las cuales se refieren a URLs inexistentes que parecen ser generadas aleatoriamente por el propio buscador a base de combinar distintas URLs, hasta conseguir que mi servidor de hospedaje me bloquee mi página web por exceder el ancho de banda diario.
El hotlinking de una imagen hospedada en mi página web como avatar por un usuario de una de las 75 páginas web más visitadas en español (y entre las 2.000 más visitadas del mundo), según Alexa. Esto provoca que cada vez que alguien visualiza un hilo de ese foro en el que participó este usuario el visitante descargue la imagen de mi página web, con la consiguiente vampirización de mi ancho de banda.
Para solucionar esto he tomado las siguientes medidas:
Redirigí mi página web al caché de Coral Content Distribution Network, por lo que cada vez que entréis a mi página seréis redirigidos a esta copia (y por eso ahora va más lento, pero por lo menos va) quedando la página original hospedada en SDF-eu sólo para proveer al caché de Coral CDN. Si queréis hacer lo mismo en vuestra página web, lo que hay que hacer es detectar cuándo se está accediendo desde Coral CDN para autorizar el acceso y en caso contrario redirigir a la misma URL añadiendo .nyud.net al final del nombre de dominio. En PHP:
<?php if (strpos($_SERVER["HTTP_USER_AGENT"], "CoralWebPrx") === false) { header("HTTP/1.1 302 Found"); header("Location: " . $_SERVER["HTTP_HOST"] . ".nyud.net" . $_SERVER["REQUEST_URI"]); exit; } ?>
Si no usáis PHP se puede hacer también añadiendo lo siguiente en .htaccess:
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx* RewriteRule ^(.*) http://%{HTTP_HOST}.nyud.net/$1 [P,L]
Bloquear Cuill. Cuill es un buscador fundado por ex miembros de Google que aún no está operativo y de momento sólo se dedica a rastrear páginas web. Conocido sólo por los que tuvimos que sufrir a su robot rastreando nuestro sitio, por eso no me interesa ser indexado por este buscador a cambio de que me sature mi página. Para bloquear Twiceler, el robot de Cuill, en PHP:
<?php if (strpos($_SERVER["HTTP_USER_AGENT"], "Twiceler") !== false) { header("HTTP/1.1 403 Access denied"); exit; } ?>
En .htaccess
RewriteCond %{HTTP_USER_AGENT} Twiceler RewriteRule .* - [F,L]
Si este buscador respetase los más básicos códigos de conducta en Internet también sería posible bloquearlo en robots.txt:
User-Agent: Twiceler Disallow: /
Pero parece ser que a la lista de malas prácticas de Cuill hay que añadir que no respeta este protocolo.
Bloquear hotlinking. El hotlinking consiste en enlazar una imagen o algún otro fichero de una página web desde otra sin consentimiento provocando un consumo de ancho de banda en la segunda que debería asumir la primera. Es una de las prácticas abusivas más comunes, dañinas y rechazadas. Por eso he tenido también que bloquearlo. A partir de ahora no se podrá enlazar con ninguna imagen de mi página web, aunque podéis usar ImgRed como yo hago, un servicio de hotlinking ético.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC] RewriteCond %{HTTP_REFERER} !^$ # Permitir mi propia página RewriteCond %{HTTP_REFERER} !h0m3r\.sdf-eu\.org [NC] # Autorizar a la copia de mi página en Coral CDN RewriteCond %{HTTP_REFERER} !h0m3r\.sdf-eu\.org\.nyud\.net [NC] # Autorizar ImgRed.com RewriteCond %{HTTP_REFERER} !imgred\.com [NC] # Autorizar motores de búsqueda RewriteCond %{HTTP_REFERER} !google\. [NC] RewriteCond %{HTTP_REFERER} !yahoo\. [NC] # Autorizar cache de Google RewriteCond %{HTTP_REFERER} !search\?q=cache [NC] RewriteRule (.*) /img/leech.png
Eso es todo, son unas medidas que pueden repercutir en el rendimiento del sitio (sobre todo el cache de Coral CDN) pero mientras tenga el ancho de banda tan limitado en el servidor y mientras algunos no asuman unas mínimas reglas de conducta no me queda alternativa. Si queréis que pueda cambiar mi página a un servidor mejor ya sabéis para qué está la publicidad ;-)