Posts Tagged ‘Apache’

abril 19, 2011 0

Como evitar el hotlinking

By in General, Herramientas

El hotlinking es un grave problema puesto que consume parte del ancho de banda de nuestros servidores, y este ancho de banda se paga. Mediante mod_rewrite de apache podemos solucionar este problema de varias formas:

  1. Evitando que determinados sitios puedan hacer hotlinking (enemigos específicos).
  2. Permitir el hotlinking solo a sitios determinados (lista de amigos).

Lo que vamos a hacer en ambos casos es reescribir la dirección solicitada, desde un sitio que no tenga permiso para hacer hotlinking, por otra imagen distinta, o bien una pequeña e invisible (lo más recomendable para minimizar el consumo de transferencia) o bien por una imagen que advierta de que se está haciendo hotlinking (la versión vengadora). Vamos ahora con el primer método:

1-. Evitando que determinados sitios puedan hacer hotlinking (enemigos específicos):

Para implementar este método vamos a añadir lo siguiente a nuestro archivo .htaccess:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?enemigo1\.es/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?enemigo2\.org/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?enemigo3\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /imagenes/hotlinking.jpg [L]

De esta forma evitamos que pueda hacer hotlinking desde los dominios especificados. Para ello le indicamos que cuando se referencie a una imagen (jpg, gif, bmp o png) de nuestro servidor desde los dominios indicados se les envíe el contenido de otra dirección, en nuestro caso la imagen que queremos mostrar cuando se haga hotlinking.

2-. Permitir el hotlinking solo a stios determinados (lista de amigos):

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?misitio\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?amigo1\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?amigo2\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /imagenes/hotlinking.jpg [L]

De esta forma rescribimos la dirección para todas las referencias a nuestras imágenes desde cualquier sitio, salvo para los indicados en la lista (donde deberemos incluir también nuestro sitio).

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , ,