Cómo evitar el hotlinking

Hotlinking traducido literalmente al castellano significa “enlace caliente”. Se refiere a los enlaces que realizamos de imágenes o ficheros de servidores que no nos pertenecen, sin permiso del autor y muchas veces sin siquiera nombrarlo.

Para evitar el hotlinking si estamos usando como servidor web Apache tenemos que modificar o crear un archivo .htaccess en la carpeta donde están los archivos. La forma mas común de evitar el hotlinking (aunque es facilmente engañada) es comprobar el referer. Cuando visitamos una página web esta sabe de que página has llegado a ese sitio (referer) si has entrado a traves de un enlace. En Apache esta información se almacena en HTTP_REFERER.

Supongamos que nuestro sitio web es www.zootropo.es; el siguiente código dentro de .htaccess haría que solo se mostrara la imagen si el referer es una página perteneciente a zootropo.es o si no hay referer (se ha escrito la dirección en la barra de dirección):

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?zootropo\.es/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|bmp|png)$ imagenes/no_permitido.gif [L]

Si quisieramos comprobar archivos con otra extensión solo tendríamos que cambiar las extensiones de la última regla. Además, si en lugar de mostrar una imagen (que al fin y al cabo también esta gastando ancho de banda) queremos simplemente darle un error de forbidden al enlazar la imagen la última regla quedaría así:

RewriteRule \.(jpe?g|gif|bmp|png)$ – [F]

Comentarios
  1. Pones “(aunque es fácilmente engañada)” ¿hay algún método que sea más difícil de burlar?

    Responder

  2. Bueno, podrías por ejemplo crear una cookie y que se accediera a las imágenes a través de un script que comprobara si existe la cookie.

    Responder

  3. […] Cómo evitar el hotlinking Relacionadas Cómo evitar el hotlinkingMandriva: la distro antes conocida como MandrakeInvitaciones animersion Etiquetas: apache, hotlinking, imagenes Comentarios […]

    Responder

  4. […] los archivos estáticos tienen una cabecera Expires que indican que se pueden cachear hasta 2010, el hotlinking está desactivado, utilizo Bad Behaviour para bloquear el acceso a los bots de spam, […]

    Responder

Deja un comentario