De vuelta

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

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 ;-)