feb 05 2011

Evitar Hot-linking con .htaccess

Category: apacheDavid González @ 10:30

Ya vimos el otro día algunas de las directivas que podemos usar en el fichero .htaccess. Hoy vamos a ver como como podemos “jugar” con las reglas del mod_rewrite para evitar el hotlinking

¿Que es el Hot-linking?

Hot-linking es un término que se usa en Internet. Indica que alguien está usando un enlace a una imagen que está archivada en otro sitio web, en lugar de guardar una copia de la imagen en el sitio web en el que se mostrará la imagen. Por ejemplo, en lugar de guardar una imagen .gif y cargarla en su propio sitio web, la persona usa un enlace de tipo absoluto hacia la imagen, semejante a http://sitioweb.com/imgen.gif, en lugar de un enlace de tipo relativo.

El principal problema del hot-link es que al usar las imágenes externas (las nuestras) consumen nuestsro ancho de banda. Vamos a ver un ejemplo de como evitarlo.

# BEGIN Anti HotLink
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://subdominio.tureceta.es/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://subdominio.tureceta.es$      [NC]
RewriteCond %{HTTP_REFERER} !^http://tureceta.es/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://tureceta.es$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tureceta.es/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.tureceta.es$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.es/reader/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.google.com/reader/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://feeds.feedburner.com/tureceta.es/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://maps.google.es.*$      [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://www.tureceta.es/nohotlink.gif [R,NC,L]
</IfModule>
# END Anti HotLink

Con este ejemplo, todos los referers diferentes a los indicados, cuando vayan a acceder a alguna imágen tipo “jpg|jpeg|gif|png|bmp” serán redirigidos a http://www.tureceta.es/nohotlink.gif  y por tanto no verán nuestras imágenes.

Ahora vamos a explicar brevemente las lineas que estamos usando:

En cada línea “RewriteCond %{HTTP_REFERER}”  ponemos el host desde el cual permitimos el acceso. Por eso usamos el signo de exclamación “!” porque es el signo de negación. Básicamente la linea dice “si vienes de un sitio diferente a ….”

Si os fijais a parte de poner nuestro dominio, también he puesto el google-reader y alguno más porque sino, desde allí, no cargarían las imágenes.

RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ Con esta línea indicamos para que extensiones será efectiva la regla y la dirección a la que vamos a redirigir.

RewriteCond %{HTTP_REFERER}

Entradas relacionadas

  • No hay temas relacionados

2 Responses to “Evitar Hot-linking con .htaccess”

  1. nordri's Blog » Añadiendo marcas de agua al vuelo para evitar hotlinking says:

    [...] Tu Receta: Evitar Hot-linking con .htaccess [...]

  2. Fernando says:

    Hola!

    Hace mucho que no actualizas y la verdad es que enseñabas cosas interesantes!! A ver si vuelves por aquí y publicas algún post más.

    Saludos.
    Fer

Leave a Reply