Evitando el Hotlinking

Hoy en día, todo entra por los ojos, por lo que es muy importante que los sitios web muestren imágenes y vídeos llamativos e interesantes. Tener este tipo de contenido no solo cuesta, sino que también pesa. En la vida, siempre hay aprovechados que sacan ventaja a costa de los demás y el mundo de internet no es distinto. También aquí nos encontramos con quienes aprovechan que otros ya han pagado, desarrollado y alojado contenidos chulísimos para realizar algo de lo que hoy vamos a hablar en nuestro #juevesdeblog: el hotlinking.

El hotlinking es el acto de robar el ancho de banda de alguien al vincularlo directamente a los activos de tu sitio web, como imágenes o vídeos. Es decir, alguien está usando un enlace a una imagen o un vídeo que están archivados en otro sitio web en lugar de guardar una copia de ellos en el sitio web en el que se mostrarán. En otras palabras, esto es como cuando tu vecino usa tu wifi, tal cual.

Como usuario de un sitio web, siempre debes intentar evitar el hotlinking de otros sitios web. Hacerlo ayuda a garantizar que el propietario original del activo no incurra en cargos innecesarios y que el activo al que se vincula no sea inaccesible, dado que el propietario puede implementar la protección de enlace directo o eliminar el activo.

Una de las recomendaciones es alojar los activos en tu propio servidor. Si has encontrado una imagen de otro sitio web y deseas utilizarla en tu web (ojo, siempre que sea contenido de libre uso), puedes cargar la imagen directamente en tu servidor y enviarla desde allí. Hacer esto también aumentará la velocidad de entrega del activo, ya que el navegador no necesita realizar una búsqueda de DNS adicional.

No todo el mundo tiene servidores tan potentes para ello, ya lo sabemos. Esa es la razón que pueden esgrimir quienes se aprovechan de otros con esta práctica. A todos les decimos que eso no es excusa para aprovecharse de terceros porque existen empresas como Transparent Edge Services que se encargan de distribuir estos contenidos desde nuestros nodos.

En el problema del hotlinking hay también otros damnificados: aquellas webs que tienen contenido chulo y ven cómo se aprovechan de él otros. Sabemos que aunque la mayoría de navegadores están evolucionando hacia una mayor protección de la privacidad y aplicando por defecto políticas más estrictas de Referrer-Policy. Pero aún así es necesaria una protección básica frente al hotlinking.

Para ello, desde Transparent Edge Services te ayudamos de una manera muy sencilla: tan solo debes definir la cabecera TCDN-Avoid-Hotlink-URL con el path al recurso que quieras servir como placeholder.

Por ejemplo, si quieres evitar que hagan hotlinking con las imágenes que tenemos ubicadas en el path /wiki/contenido de tu dominio www.example.com, el código vcl a insertar en la configuración sería similar a:

Como siempre, lo puedes definir en un nuevo bloque vcl_recv o en el ya existente.

Ahora, las peticiones contra esos recursos y con esas condiciones que tengan un referrer distinto al dominio del site actual servirán en su lugar el placeholder /img/hotlink-placeholder.png. Es obligatorio definir un placeholder.

Se pueden agregar todas las condiciones necesarias al código anterior. Por ejemplo, si el dominio www.example2.com puede realizar hotlinking sin restricción alguna, el código quedaría así:

Así que, siguiendo esto o contactándonos directamente, puedes mitigar esta práctica tan particular. ¿Qué esperas para empezar a hacerlo?