Primeras medidas anti-hotlinking

Autor: Armonth | El jueves 19 de abril del 2007 @ 07:50.

Como ya he dicho muchas veces, no me gusta demasiado la idea de cerrar el grifo a cal y canto (principalmente porque también pagáis el pato los que leéis vía feeds: aunque eso con tiempo tendría solución). Tener una lista actualizada de agentes de usuario para identificar lectores de feeds y hacer "listas blancas" no es poco trabajo pero es algo que algún día tendré que hacer.

En uno de los últimos "tests" que he leído, un servidor puede enviar hasta 5 veces más peticiones si prescinde de mod_rewrite. Por lo que en resumidas cuentas: no creo que el tener el htaccess con 200 RewriteCond sea buena idea.

Otro asunto (que no tengo bastante claro) es como afecta tantos accesos de imágenes al rendimiento de Apache aunque actualmente el rendimiento no es problema. Las medidas son por limpiar la lista de referidos la cual suelo usar para descubrir quién me enlaza.

Por ello he hecho un simple apaño: poner en lista negra las principales plataformas de blogs, lo añadido al .htaccess es este bloque de código:

# BEGIN hotlinking filter   
RewriteEngine On   
RewriteCond %{HTTP_REFERER} wordpress.com [OR]   
RewriteCond %{HTTP_REFERER} myspace.com [OR]   
RewriteCond %{HTTP_REFERER} spaces.live.com [OR]   
RewriteCond %{HTTP_REFERER} blogcindario.com [OR]   
RewriteCond %{HTTP_REFERER} youtube.com [OR]   
RewriteCond %{HTTP_REFERER} blogger.com [OR]   
RewriteCond %{HTTP_REFERER} blogspot.com [OR]   
RewriteCond %{HTTP_REFERER} livejournal.com   
RewriteRule .(jpe?g|gif|bmp|png)$ nohotlink.gif [L]   
# END hotlinking filter

Por si las dudas: tenéis que crear en el mismo sitio que tengáis el fichero .htaccess un fichero nohotlink.gif con una imagen que advierta de la restricción. Si por el contrario queréis simplemente hacer una prohibición (sin aviso ni leches cosa que no recomiendo) toca sustituir la línea del RewriteRule por:

RewriteRule .(jpe?g|gif|bmp|png)$ [F]

¿YouTube? Pues sí: algunas personas se ponen imágenes incluso de 200KB en su perfil de Youtube. De momento todos los hotlinks hechos en abril y marzo del 2007 provienen de estos ocho sitios.

Los datos actuales de tráfico sólo en imágenes son:

  • 667.776 accesos en 20 días (33.388 al día).
  • 2089MB en 20 días (104.5MB al día).
  • Tráfico total en 20 días correspondiente a imágenes: 34.16%.

Veremos qué sale a final de mes. Aunque supongo que la cosa bajará aproximadamente un 15-20% lo cual pueden ser 300-400MB menos.

Comentarios