
Evitar el hotlink con .htaccess
A todos los que posean un sitio web con gran cantidad de imágenes les va a interesar este artículo.
La idea es evitar que nos “roben ancho de banda” desde otros sitios web. Vamos a restringir sitios web en base a sus dominios madre y en general, en base a los formatos de imagen.
El artÃculo original se encuentra en inglés y podés encontrarlo en http://forum.joomla.org/index.php/topic,111284.0.html
¿Cómo bloqueo el hotlinking en mis imágenes utilizando .htaccess?
1. Hacé una imagen jpeg llamada no_hot_link.jpe. Notemos que la extensión es .jpe , esto es intencional y muy importante. Una vez creada colocala en tu carpeta de imágenes.
2. Abrí el .htaccess y escribí las siguientes líneas de código:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?tu_sitio\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /imagenes/no_hot_link.jpe [L]
De esta forma cuando haya una peticion externa de una imagen jpg/jpeg/gif/bmp/png alojada en tu sitio, se mostrará el sustituto no_hot_link.jpe. Está bueno, porque directamente no les permitís usar ningún tipo de imagen y en ese archivito “no_hot_link.jpe” podés poner la URL de tu blog o algo así…no se…Lo que se te ocurra…
Bloquear el hotlinking desde dominios específicos
De la manera anterior bloqueamos las imágenes de cualquier sitio externo, aunque podemos hacerlo para dominios específicos:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blogspot\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?myspace\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/no_hot_link.jpe [L]
Así hacemos que otros sitios alojados en blogspot, myspace o livejournal no puedan robarnos ancho de banda. La cantidad de dominios es ilimitada, sin embargo el último no debe poseer la sentencia OR.
Mostrar Error 403 [Forbidden] en vez de una imagen:
Una boludez, solamente tenés que cambiar la última línea por:
RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]
Finalmente algunos se preguntaran porque es importante que la imagen sustituta sea .jpe A pesar que en el artículo no lo explica, es cuestión de lógica. Estamos estableciendo que no se pueden mostrar imágenes con cierto formato en otro sitio. Si hacemos eso, por lo tanto, no podremos mostrar una imagen sustituta con los formatos jpg/jpeg/gif/bmp/png , es por eso que se busca otro formato de imagen para mostrar [jpe].
Paradójicamente, estoy usando la imagen de error 403 desde otro sitio web =P
Saludos!
Filed under: Administracion, Laboratorio






