Explorá

Seguridad en WordPress / 7 min de lectura

WordPress hotlinking: qué es y 5 maneras de evitarlo.

El hotlinking en WordPress, y el hotlinking en general, es casi universalmente despreciado por diversas razones. Probablemente sea una de las pocas cosas que todos los propietarios de sitios web odian, incluso si aún no son conscientes de ello.

Este artículo explorará qué es el hotlinking en el entorno de WordPress, por qué la gente lo detesta, sus consecuencias no intencionadas, cómo saber si uno de tus archivos está siendo objeto de hotlinking y cómo proteger tu sitio.

¿Qué es el hotlinking en WordPress?

Ilustración de una red de personas

El hotlinking, vinculación en línea o piggybacking, ocurre cuando una página web de un sitio incrusta un recurso, generalmente una imagen, de otra ubicación mediante un enlace directo. Un “hotlink” es un enlace incrustado en un sitio que lleva a recursos multimedia en el sitio al que está vinculando.

Esto significa que, en lugar de descargar la imagen (asumiendo que tienen permiso o que la imagen es libre de derechos de autor) y alojarla en su propio servidor, el usuario de hotlinking muestra una imagen en su sitio que en realidad es proporcionada por un servidor externo.

Para cargar y visualizar la imagen, los visitantes del sitio web consumirán ancho de banda y recursos informáticos del servidor externo en lugar del servidor que aloja el sitio web que están utilizando.

¿Cuáles son las consecuencias del hotlinking en WordPress?

El hotlinking es muy conveniente para los hotlinkers. Les permite mostrar archivos multimedia (que tienden a ser mucho más pesados que el texto) sin usar los recursos de su servidor.

Sin embargo, el servidor original que aloja la imagen hará todo el trabajo pesado, a menudo sin que el hotlinker provea una fuente para la imagen. Eso es simplemente una falta de profesionalismo y de etiqueta.

Estas son las consecuencias comunes del hotlinking.

El hotlinking cuesta dinero y recursos del sitio web.

Un hombre trabajando en su computadora con un servidor de fondo

WordPress.org requiere que los propietarios de sitios web hospeden sus sitios por sí mismos, lo que significa que deben pagar por un servicio de alojamiento web para mantenerlo en línea. Un aumento repentino de tráfico hacia un recurso específico en el servidor web puede llevar a que el proveedor de alojamiento web cobre más al propietario del sitio.

Si el tráfico es lo suficientemente alto como para igualar o superar el límite de ancho de banda del servidor, el sitio puede sufrir un ataque de denegación de servicio, ralentizándolo hasta que la subida de tráfico se estabilice. El hotlinking puede costarle dinero y recursos del servidor al propietario original del sitio web sin siquiera atraer tráfico a su sitio.

El hotlinking a veces es ilegal.

Dependiendo de las especificaciones de licencia de la imagen, los hotlinkers pueden infringir inadvertidamente las leyes de derechos de autor. Si la imagen está protegida por derechos de autor y no tenés licencia para mostrarla, el propietario podría técnicamente enviarte una notificación de cese y desistimiento y potencialmente demandarte si la ignorás.

Otras consecuencias del hotlinking

  • Hace que el hotlinker parezca vago, poco ético y poco profesional.
  • Si el propietario original cambia el contenido del enlace incrustado, se reflejará en la página web del hotlinker, lo que podría llevar a imágenes fuera de contexto.
  • Actores maliciosos pueden usar hotlinks a un sitio de confianza durante ataques de scripting entre sitios (XSS) y phishing.
  • Cuando los visitantes web cargan una imagen hotlinkeada, solicitan al servidor original que la proporcione. A menudo, estas solicitudes contienen información de referencia HTTP, lo que filtra inadvertidamente información sobre las páginas navegadas al servidor original.
  • Si el hotlinker incrusta un archivo JavaScript en lugar de un archivo multimedia, el propietario del archivo puede modificarlo para incluir malware como keyloggers.

¿Cómo saber si las imágenes de tu sitio WordPress están siendo objeto de hotlinking?

Puedes usar una búsqueda de imágenes en Google para entender quién podría estar haciendo hotlinking a imágenes de tu sitio. Primero, navegá a través de Google Imágenes y pegá lo siguiente, llenando con el nombre de tu dominio:

inurl:yourwebsite.com -site:yourwebsite.com

Ejemplo:

inurl:wcanvas.com -site:wcanvas.com

El comando “inurl” filtra las imágenes encontradas en tu dominio, mientras que el “-site:” excluye a tu dominio de los resultados. Estás buscando imágenes en tu sitio web que también estén presentes en otros dominios.

Si no obtenés resultados, ninguna de tus imágenes está siendo objeto de hotlinking. Pero si obtenés resultados, no significa inmediatamente que las imágenes estén siendo hotlinkeadas. Inspeccioná el código fuente de cada imagen antes de sacar conclusiones.

¿Cómo prevenir que otros hagan hotlinking a imágenes de tu sitio WordPress? 5 formas de hacerlo.

Añadir instrucciones a tu servidor Nginx

Si tu sitio está alojado en un servidor Apache, abrí tu archivo de configuración y añadí el siguiente fragmento:

location ~ .(gif|png|jpeg|jpg|svg)$ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. yourdomain.com *.yourdomain.com;
     if ($invalid_referer) {
        return 403;
    }
}

Donde dice “yourdomain.com”, sustituilo por el nombre de tu dominio.

Este comando esencialmente le dice a tu servidor lo siguiente: “si estás sirviendo un archivo .gif, .png, .jpeg, .jpg, o .svg, solo servilo para estos dominios: Google, Bing, Yahoo y el dominio de mi propio sitio web. Si el dominio que solicita el archivo no es uno de estos, devolvé un error 403.”

Estás permitiendo motores de búsqueda populares porque el tráfico de motores de búsqueda es bueno ya que te están dirigiendo tráfico a vos en lugar de extraer ancho de banda de tu servidor.

Añadir instrucciones a tu servidor Apache

Si tu sitio está alojado en un servidor Apache, necesitas editar o crear el archivo .htaccess para incluir el siguiente fragmento:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?bing.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yahoo.com [NC]
RewriteRule .(jpg|jpeg|png|gif|svg)$ - [F]

Donde dice “yourdomain.com”, sustituilo por el nombre de tu dominio. Este comando hace lo mismo que el de los servidores Nginx.

Usar un plugin

Encontrarás algunos bloqueadores de hotlinking si buscás “hotlink” en la biblioteca de plugins de WordPress.org. Sin embargo, la mayoría no son muy populares o actualizados frecuentemente. Podés usar uno de ellos, pero puede ser mejor usar un plugin de seguridad con funciones de bloqueo de hotlinking.

Un plugin popular con esta característica es All-In-One Security (AIOS) – Security and Firewall. Andá a WP Security > Firewall > Prevent Hotlinks para prevenir el hotlinking de imágenes. Luego, chequeá “Check this if you want to prevent hotlinking to images on your site.”

Aún recomendamos ingresar directamente comandos en tu servidor ya que te permite filtrar motores de búsqueda y otros dominios.

Deshabilitar el clic derecho en tu sitio de WordPress

Un cursor sobre un fondo negro

Deshabilitar el clic derecho en tu sitio web impide que otros copien y peguen texto, que vean el código fuente y que guarden imágenes.

La forma más fácil de hacer esto es usar un plugin como Disable Right Click For WP. Instalalo y luego dirigite a Disable Right Click for WP desde tu panel de control. Simplemente marcá “Sí” en Show messages on Disable Events and click on Save Settings.

Cambiar el nombre de tus imágenes

Si no tenés otras protecciones contra el hotlinking y descubrís que una de tus imágenes de repente recibe mucho tráfico, simplemente podés renombrar la imagen y cambiar su ubicación. De esa manera, la imagen ya no se mostrará en el sitio web del hotlinker, interrumpiendo la corriente de tráfico.

Funciona mejor para imágenes específicas en sitios pequeños que no reciben mucho tráfico. Los sitios web más grandes con más visitantes deberían usar las soluciones mencionadas anteriormente.

Conclusión

El hotlinking se considera una mala práctica porque puede aumentar los costos de alojamiento para el propietario original del archivo e incluso llegar a bajar temporalmente su sitio si el aumento de tráfico es lo suficientemente alto.

A veces, incluso puede ser un riesgo de seguridad para los visitantes del sitio web del hotlinker si el archivo incrustado puede ejecutar código, como cuando se incrustan scripts de JavaScript.

Ahora sabés qué es el hotlinking y cómo proteger tu sitio de él en el futuro.

Si encontraste útil este artículo, leé nuestro blog para más guías, consejos y trucos sobre WordPress.