Lucha contra el Hotlinking…

El Hotlinking es una práctica implementada constantemente en páginas web lo cual consiste en copiar una imagen o un enlace hacia un documento electrónico (zip, exe,…) que genera un tráfico indeseado para nuestro servidor.

Los webmasters que tenemos un propio hosting, contratamos una determinada transferencia de datos mensuales en función a nuestro tráfico. De una manera básica, se puede explicar si tenemos (ejemplo) una imagen que ocupa 1MB, cada usuario que la vea desde su computador (usuarios con IP’s diferentes, es decir, usuarios únicos) descargaría dicha imagen a la computadora. Si tenemos 1024 únicos por día, serían 1024 * 1MB = 1024MB, lo cual sería 1GB. Al mes serían unos 30GB aproximados, y así sucesivamente…

Hotlinking

Supongamos que contratemos un plan de hosting (hospedaje) que nos dé 300GB de transferencia mensual, al sobrepasarlo, debemos pagar una cuota adicional para poder «tener activa» nuestra página web. Es aquí donde nace la necesidad de evitar el hotlinking.

Mediante un par de líneas de código podremos evitar dicho fenómeno. Debemos tener en cuenta que nuestra página web tiene que estar estrictamente alojada en un servidor Apache para que pueda funciona la técnica que explicaré en este artículo.

Llevemos la concepción del término Hotlinking a la vida cotidiana. Imagína que llega un vecino de tu localidad a enchufar sus dispositivos electrónicos a tu electricidad. Mientras que él se aprovecha de tu servicio eléctrico, tú debes pagar por eso… ¡Ese es el punto que tocamos aquí!

Ahora bien, llevándolo a la parte informática avanzada, en diversas ocasiones podría alterar el buen funcionamiento del servidor por la carga frecuente de imágenes, lo cual colapsaría el servidor sino puede satisfacer las necesidades de muchas conexiones a la vez…

Lo primero que debemos tener en cuenta es que tenemos que modificar el archivo .htaccess. El fichero .htaccess es un archivo de texto oculto que permite establecer directivas o parámetros específicos para el funcionamiento de nuestro servidor Apache.

Servidor Apache

Lo primero que debemos hacer es crear un archivo de texto en cualquier editor o procesador de texto como el Bloc de Notas del Windows (Inicio > Todos los programas > Accesorios > Bloc de Notas). Copiamos las siguientes líneas de código:

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^https://(www\.)?tuweb.com(/)?.*$ [NC] RewriteRule .*\.(gif|jpg|jpeg|bmp|zip|rar|mp3)$ – [F,NC]

Con esas líneas de códigos estamos evitando el hotlinking de los archivos GIF, JPG, JPEG, BMP, ZIP, RAR, MP3…, con el código, cuando un usuario haga hotlinking a un archivo específico que tenga la extensión que hemos determinado, se le enviará a nuestra página.

Otra alternativa es:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://(www\.)?tuweb\.com/ [NC
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.jpg [L]

Para los que desean mostrar una imagen a los que hacen hotlinking con una frase que diga «no me robes el ancho de banda», pues es fácil con ésto.

Recuerda cambiar «tuweb.com» por el dominio de tu página, y «images/nohotlink.jpg» por el directorio donde está la imagen que deseas mostrar a los hotlinkings que realizarás. 😛