Qué es hotlink y cómo evitarlo


¿Qué es hotlink?

El hotlink es cuando utilizan las imágenes de tu web directamente desde tu hosting. Por ejemplo, si en mi web franciscomolina.cl incluyo una imagen desde otro hosting, ésta se verá en el HTML de la siguiente forma:

<img src="otrapagina.dominio/laimagen.jpg">

Esto no es una buena práctica, ya que estaríamos utilizando los recursos de otra persona. En este caso, el ancho de banda de otro hosting.

Muchas personas utilizan el hotlink para no utilizar el poco espacio de disco duro que tienen en su hosting, pero con eso provocan un mal a otras personas.

¿Qué pasa cuando la persona afectada por el hotlink es uno? Tenemos una solución bastante simple que mostraré a continuación.

¿Cómo evitar el hotlink?

Existen varias formas de hacer lo que mostraré. Desde el panel de control de cPanel, desde un plugin o editando el archivo .htaccess que es la forma que enseñaré.

Vamos a la raíz de nuestro WordPress (o cualquier página web) y buscamos el archivo sin nombre de extensión .htaccess.

Si no utilizas WordPress y no tienes el archivo, puedes crear un archivo de texto y guardarlo como “.htaccess”.

Dentro del archivo ingresaremos las siguientes lineas.

#Bloquea imágenes a sitios que no están en la lista
#Si el RewriteEngine no está antes en el archivo, lo agregamos acá
RewriteEngine on
#Bloqueamos el hotlink, excepto a nuestra página y google.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?franciscomolina.cl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]

Si queremos compartir nuestros artículos en Facebook, tendríamos que agregar la línea con su nombre de dominio para que aparezca la imagen:

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com [NC]

Y así con todas las redes sociales que utilicemos.

Lo que hará en la página que haya querido enlazar una imagen de nuestro hosting es mostrará como si el enlace fuera incorrecto. O sea, el error 404 o imagen no encontrada.

Personalizar imagen a mostrar

Si hay muchas páginas que utilizan tus imágenes, es una buena idea sacar provecho del hotlink mostrando una imagen personalizada. En esta imagen puedes incluir el url de tu página web.

Para esto, primero debes crear una imagen y subirla a un hosting de imágenes u otro que no tenga restringido el hotlink.

Teniendo el enlace de esa imagen, lo agregamos a nuestro htaccess al final de las lineas agregadas anteriormente.

RewriteRule \.(jpg|jpeg|png|gif|svg)$ https://image.ibb.co/h7tQtA/visita.jpg [NC,R,L]

El código completo sería el siguiente:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?franciscomolina.cl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ https://image.ibb.co/h7tQtA/visita.jpg [NC,R,L]

Si no deseas la imagen personalizada, simplemente quita el enlace y deja esa última linea así:

RewriteRule \.(jpg|jpeg|png|gif|svg)$ [NC,R,L]

Y la imagen se mostrará así en la otra página.

Espero les haya servido esta guía.