Hotlinking es un término que se utiliza habitualmente para hablar del robo de ancho de banda de un hosting que se consigue mostrando en una web imágenes que están alojadas en otro hosting ajeno a esa web. De esta forma se está mostrando una imagen que no está en el hosting de la web, por tanto, el ancho de banda consumido cuando un visitante visualiza la web (y por lo tanto esa imagen) será el del hosting donde se aloja esa imagen. Puedes leer la definición del hotlinking en la wikipedia.
Ejemplo de hotlinking
La semana pasada detectamos una web fraudulenta que estaba haciendo uso de imágenes de un cliente nuestro. Esta web, además de estafar vendiendo productos de nuestro cliente, sin haber sido autorizados a ello, utilizaba directamente imágenes de nuestro cliente en su web.
Era una tienda online, en la ficha de producto había 2 fotografías, una pequeña y una grande. La pequeña sí la habían copiado en su servidor, pero la imagen grande se descargaba directamente desde la web de nuestro cliente.
¿Cómo evitar el hotlinking?
Para evitar que se utilicen nuestras imágenes, simplemente hay que añadir unas cuentas líneas al fichero .htaccess de nuestra web para denegar el acceso a esos tipos de archivos.
En nuestro caso , como era un sitio de venta fraudulenta, queríamos que los visitantes se dieran cuenta que algo estaba pasando para minimizar las compras (además, denunciamos el sitio web). Decidimos optar por visualizar una imagen de prohibido cuando quisieran mostrar una de nuestro cliente.
Para hacer algo similiar, tienes que buscar una imagen que será la que aparezca cuando alguien intente utilizar una imagen alojada en tu hosting. También la optimizamos para que tuviese el menor tamaño posible ya que así el consumo de tráfico en el hosting sería menor.
Ahora, cuando se enlaza una imagen del hosting de nuestro cliente, se muestra la imagen que hemos indicado que se proporcione cuando se realiza esa acción.
¿Cómo se hace?
Si quieres que cuando un sitio web externo intente mostrar una imagen tuya se visualice una imagen de advertencia en vez de la original, tendrás que hacer lo siguiente:
- Busca una imagen para mostrarse cuando alguien intente utilizar directamente imágenes de tu sitio. Cuanto menos peso mejor, porque consumirá ancho de banda de tu hosting.
- Súbela a tu hosting.
- Modifica el fichero .htaccess de tu web añadiendo estas líneas (cambia la línea 3 donde pone tudominio.com por tu web)
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tudominio.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.es [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
- Añade esta línea al fichero .htaccess después de las anteriores reemplazando la ruta del ejemplo por la ruta de tu imagen para que al intentar mostrarse una imagen desde un sitio externo, se muestre la imagen indicada en el fichero:
RewriteRule .*\.(jpg|jpeg|png|gif|tiff|svg)$ https://tudominio.com/imagen-hotlink.jpg [L]
- Si no quieres que se muestre una imagen, sino un código de error, puedes añadir simplemente esto:
RewriteRule .*\.(jpg|jpeg|png|gif|tiff|svg)$ - [F]
Añade las extensiones de los tipos de imágenes que utilices en tu web.
El hotlinking y Google Images
Hay que tener cuidado con la protección de hotlinking porque estamos denegando el acceso a nuestras imágenes a hosting externos y Google Images rastrea las webs y se hace una copia de las mismas para mostrarlas en miniatura, pero las imágenes grandes las enlaza de nuestro sitio web.
En las líneas del .htaccess anteriores habrás visto 4 líneas (de la 5 a la 8) haciendo referencia a Google, Bing y Yahoo. Estas líneas indican que a esos 4 sitios sí se les permita el uso de las imágenes de nuestro hosting.
Si no hacemos eso, tendremos pérdida de SEO.
En el panel de control de nuestros hostings, podrás evitar el hotlinking de tus archivos, simplemente marcando una casilla en la opción «bloqueo de accesos». Automáticamente se generan las líneas del archivo .htaccess para evitar el hotlinking.