Cómo prevenir el hotlinking de imágenes usando el archivo .htaccess

El hotlinking es una práctica bastante común en estos días. Todos los que pagamos por espacio web, queremos proteger nuestros preciados MB de transferencia permitidos mensualmente. Cuando otra persona crea un enlace en otra página directamente hacia nuestros archivos quienes servimos ese contenido somos nosotros.

Uno de los métodos para prevenir el llamado hotlinking consiste en agregarle unas líneas al archivo .htaccess que está presente (o debería estarlo) en nuestro servidor.

Existen tres objetivos básicos que se pueden lograr modificando dicho archivo:

1.- Prevenir todos los hotlinks.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://midominio.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.midominio.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://216.239.*$ [NC]
ReWriteRule .*\.(gif|jpg|png)$ - [F]

Esta configuración hace que nuestro servidor solo le muestre imágenes gif, jpg y/o png a nuestro dominio y a los servidores de Google Images.

2.- Prevenir los hotlinks de dominios específicos.

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://www.dominio-bloqueado-1.com/.* [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://www.dominio-bloqueado-2.com/.* [NC]
ReWriteRule .*\.(gif|jpg|png)$ - [F]

Esta vez bloquearemos los dominios a los cuales no queramos servir imágenes gif, jpg y/o png. Noten que hay que utilizar el modificador [NC,OR] en todos los dominios listados, menos en el último.

3.- Mostrar una imagen diferente a dominios específicos.

RewriteEngine On
RewriteCond %{HTTP_referer} ^http://www.dominio-bloqueado-1.com/.* [NC,OR]
RewriteCond %{HTTP_referer} ^http://www.dominio-bloqueado-2.com/.* [NC]
RewriteRule .*\.(gif|jpg|png)$ imagen-a-mostrar.jpg [L]

Esta configuración reemplaza la imagen que estan enlazando desde los dominios especificados por otra de nuestra preferencia.

En todos los ejemplos anteriores hay que modificar el archivo .htaccess que está en la raiz de nuestro servidor. Si por alguna razón no existe un archivo llamado .htaccess, debemos entonces crearlo y subirlo. Una de las maneras mas sencillas de hacerlo es crear un archivo llamado “htaccess.txt” y luego que lo subamos, renombrarlo a “.htaccess”.

Tags: , , , ,

Leave a Reply