Hotlinking

Hotlinking es el enlazar directamente archivos (.jpg, .gif, .flv, zip, etc) de un web desde otro web. El ejemplo mas común es cuando se enlazan imágenes directamente desde los foros o blogs si permiso del web original.

Esto es un problema por que se consume ancho de banda ajeno por que el archivo se esta cargando y consumiendo recursos de otro dominio. Además al enlazar directamente puedes estar infringiendo derechos de autor, pues lo estas haciendo sin permiso.

Como saber si hago Hotlinking
Si por ejemplo tienes un dominio llamado mydomain.com y muestras imágenes en tu web, puedes tener las siguientes situaciones:

<!-- correcto -->
<img src="img.jpg" width="50" height="50">
<!-- correcto -->
<img loading="lazy" src="http://mydomain.com/img.jpg" width="50" height="50">
<!-- hotlinking!!! -->
<img loading="lazy" src="http://otherdomain.com/img.jpg" width="50" height="50">

Es decir si hay una imagen con una ruta a un dominio que no es el propio se esta haciendo hotlinking.

Prevenir Hotlinking mediate .htaccess
Para ello en la raiz de nuestro servidor, creamos un archivo llamado .htaccess, dentro de el colocamos:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mydomain.com(/)?.*$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|zip|rar)$ notimg.jpg [R,NC]

En donde se tiene que hemos bloqueado el acceso remoto a todos los archivos de imágenes, archivos comprimidos y lo hemos reemplazado por una imagen (notimg.jpg) que muestra un mensaje de advertencia.

Pero hay un pequeño inconveniente, esto bloquea el acceso a todos los dominios externos, pero que pasa si nuestros usuarios acceden por lectores de Feeds como Google Reader, Bloglines, etc. Entonces para ello podemos agregarle excepciones:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mydomain.com(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?bloglines\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?feedburner\.com/ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|zip|rar)$ notimg.jpg [R,NC]

Plugin hotlinking protection para WordPress
Si utilizas WordPress hay un plugin que te permitirá automatizar el proceso de prevenir el Hotlinking, se trata de Hotlink Protection Plugin for WordPress, para ello descargas el archivo hotlink-protection.zip, descomprimes el archivo descargado y subes la carpeta hotlink-protection al directorio de plugins de WordPress (/wp-content/plugins/), luego activas el plugin en el panel de administrador y finalmente accedes a Options > Hotlinking Protection para configurar el plugin.

hotlinking.gif

Utilizar imágenes de otras webs sin hacer Hotlinking
Para ello podemos utilizar un servicio llamado ImgRed.com, de esta forma la petición la hará al servicio de ImgRed, la cual hace una copia en cache de la imagen original la primera vez que se solicita y las siguientes veces solo accedes a la imagen de la cache de ImgRed.

Utilizar este servicio es sencillo, solo es necesario agregar http://imgred.com/ antes de la ruta de la imagen original, de la siguiente forma:

<!-- hotlinking -->
<img src="http://otherdomain.com/img.jpg">
<!-- not hotlinking!!! -->
<img src="http://imgred.com/http://otherdomain.com/img.jpg">

Posts Relacionados

  • No related posts

Comentarios Total 6 comentarios

Giancarlo
Publicado: 23/03/2008 1:10 pm

Muy buen plugin! gracias Jim! ;)

Marcos
Publicado: 24/03/2008 2:32 am

Gracias por el aporte me parece muy intereante utilizar la cache de imgred.com para evitar el hotlinking una solucion realmente comoda.

Un saludo

Hotlinking.
Publicado: 24/03/2008 3:46 am

[…] Acabo de leer un articulo en http://blog.unijimpe.net donde nos habla del Hotlinking os dejo aqui un pequeño esquema, si queires leerlo entero pulsa aquí. […]

Derleth
Publicado: 25/03/2008 9:10 pm

buena unijimpe esto era lo q buscaba hace tiempo, esto era lo que antes te habia mandado por mensaje privado ^^ buena la hiciste ehehehe

Pelimexic
Publicado: 09/08/2008 2:26 pm

Soy mas o menos profano en el tema, pero no se si abrir y usar multiples cuentas de geocities con el solo interes de utilizar dichas cuentas para alojar imagnes que mostrara mi sitio (una o dos imagenes por usuario de geocities) es Hotlinking y si es lega y etico.
Saludos


[…] Hotlinking: Prevenir Hotlinking mediate .htaccess {lang: 'es'}Quizás te interese:Cooperativa digitalWordpress en tu propio alojamientoWordpress gratuitoToma de decisionesEmpecemos por el principio. Publicado en Bricos, WordPress – Etiquetado Alojamiento, colaboración masiva, cooperativa digital, crowdsourcing, hotlink, hotlinking, WordPress COMPARTE ESTO CON Twitter Facebook Delicious StumbleUpon Correo Electrónico « Pregúntate para que quieres estar en las redes sociales. No se han encontrado comentarios […]

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)