Estás mirando la versión 3 de mi sitio web, para ver la última versión por favor anda a juque.cl

juque

Juan Pablo Aqueveque: Ingeniero de Sistemas, Diseñador y Desarrollador Web que reside en Temuco, Chile.

No se acepta Hotlinking

Publicado por Juan Pablo el 29.Jun.2007 | Comentarios (4)

El otro día estaba revisando mi analizador de log awstats cuando de pronto me di cuenta de que tenía varios accesos a una imagen en particular de este weblog, inmediatamente pensé:"me están haciendo hotlinking", visité la procedencia del tráfico y efectivamente... un personaje —ignoro si es adrede y por ignorancia— estaba accesando a una imagen de este sitio.

¿En qué consiste el hotliking?

Es el acceso remoto a un recurso (imagen, video, archivo, etc) lo que implica uso de ancho de banda, en otras palabras: el servidor A usar el ancho de banda y el recurso alojado en el servidor B, por ejemplo: supongamos que yo quiero mostrar el logo de Google en un artículo, si yo quiero colgarme (hotlinking) del ancho de banda del servidor de Google mostraré la imagen de la siguiente forma:

<img src="http://www.google.com/intl/en_ALL/images/logo.gif"  alt="logo google" />

Pero si soy una persona consiente del perjuicio que le estoy ocasionando a Google (aunque tengo mis dudas) lo que yo debo hacer es usar mi propio servidor para servir la imagen, por lo tanto debo bajarla y subirla a mi servidor:

<img src="http://www.juque.cl/weblog/imagenes/logo-google.gif"  alt="logo google" />

¿Cómo prevenirlo?

Si tu sevidor es Apache puedes crear algunas reglas de sobrescritura, la regla consiste en prohibir cualquier acceso referenciado a tus imagenes; por lo tanto debes restringir su acceso a tu propio dominio y algún otro dominio amigo, en mi caso creo que google.com es un dominio amigo (por el momento). Por lo tanto creamos un archivo .htaccess en la raíz de nuestro sitio con las siguientes línea:

#Hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?juque\.cl/ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(.*\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|png)$ - [F]

Enlaces relacionados

Enlace Permanente, Comentarios (4), Publicada en: Seguridad

Comentarios

1. Nelson Rodríguez-Peña
29.Jun.2007

A mí me ha pasado varias veces también, en muchos caso la gente lo hace por ignorancia y en otros por pereza o abierta falta de etiqueta. En cualquier caso, no he puesto reglas para prevenir el hotlinking por una sola razón: hay veces en que uno quiere que eso ocurra. Por ejemplo, con la regla que propones aquí, yo no podría ver las imágenes de tus posts cuando te leo usando Bloglines u otros agregadores, porque técnicamente eso también sería hotlinking. No he encontrado una solución más eficiente que agregar una lista blanca de dominios autorizados, pero creo que eso es poco eficiente. Menos eficiente incluso es usar una lista negra. Por ahora no me queda más que tolerarlo.

2. juan pablo
29.Jun.2007

Gracias por tu comentario Nelson, me has abierto lo ojos y aquella posibilidad no la había tomado en cuenta (la de los lectores RSS), así que he decido cambiar la regla y sólo restringiré el dominio que me hizo el hotlinking.

RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://(.*\.)?blogspot\.com/ [NC] RewriteRule \.(jpe?g|gif|png)$ - [F]

3. Jaime Morales
29.Jun.2007

Que pasa cuando sólo estoy comentando algo que escribiste en tu blog en un foro, y decido mostrar una de tus imagenes en mi comentario utilizando la etiqueta [img] que utilizan la mayoría de los foros.

4. juan pablo
30.Jun.2007

Es lo mismo Jaime, hotlinking. Algunos foros permiten subir imagenes tengo entendido.