Como evitar el hotlinking modificando el htaccess?
Cansado de que me roben ancho de banda gracias al hotlinking decidi tomar cartas en el asunto. Para el que no sabe que es esto del hotlinking les doy un ejemplo practico. Yo hago un post y subo una imagen (a mi host) como para acompañar; luego viene una persona, se interesa en la imagen y decide publicarla en otra web, el problema es que no sube esta imagen en su propio host, sino que utiliza el link de mi imagen. Debido a esto, cada vez que la imagen en cuestion se muestra en esa otra web, me esta robando ancho de banda, que obviamente nosotros pagamos.
Para evitar esto se pueden hacer unas modificaciones en el archivo .htaccess. Ya se que existen plugins y todo tipo de cosas para esto, pero he probado de todo y ningun método me funciono, solo esto.
Bueno metiendonos de lleno en el problema, vamos a usar para este ejemplo el dominio fictisio www.ejemplo.com; el cual obviamente reemplazaran por sus dominios.
Lo que hay que hacer para evitar el hotlinking es muy sencillo, tan solo agregar lo siguiente al archivo .htaccess
RewriteCond %{HTTP_REFERER} !^http://ejemplo.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://ejemplo.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ejemplo.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ejemplo.com$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]
Donde ejemplo.com es la web a la que si le permite hacer uso de sus imagenes. Primera aclaración aca deben colocar al menos su propia web, en mi caso tinchio.com.ar; pero pueden, además, colocar todas aquellas a las que quieren permitirle hacer uso de sus imágenes. Segunda aclaración, en la última linea estan las extensiones de imágenes que yo uso aca, ustedes coloquen todas las que ustedes usen. Con esto lograran que al linkear sus imágenes en webs no autorizadas, estas no se muestren.
Pero además pueden agregar una caracteristica muy interesante que es que, en lugar de no mostrar la imágen se muestre una unica imágen; donde por ejemplo pueden informar que esa imágen es robada. Lo unico que varía respecto al primer ejemplo es la última linea.
RewriteCond %{HTTP_REFERER} !^http://ejemplo.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://ejemplo.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ejemplo.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.ejemplo.com$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://host.com/imagen.png [R,NC]
Aclaraciónes. De nuevo, ejemplo.com es su propio dominio, y ademas pueden agregar todos los dominios que autorizan. Host.com es el lugar donde almacenan la imágen genérica a mostrar, en este caso “imagen.png“; puede ser de la extensión que quieran. Y por último, aunque suene demasiado obvio para muchos, no esta de más decir que esta imágen a mostrar debe estar en un host distinto al nuestro, ya que, recuerden, estamos denegando a las demas webs el acceso a las imagenes almacenadas en nuestro hosting.
En mi caso a los que me roben ancho de banda les va a aparecer esta linda imagen

Por último quiero aclarar que todavia no entiendo este tema a la perfección, por lo que tal vez en algunos casos no les funcione; ya que no se si esto depende tambien del servidor que los alojen o no. En mi caso al principio no funcionaba pero depues anduvo a la perfección.
Tambien te pueden interesar estos articulos:
- Flash Element TD 2
- Caga a tiros a las palomas
- Ante el fracaso de vista preparan el 7
- Sabias que?…
- Original hub USB
- Repositorios para Debian Etch
- La simplicidad de la consola
- WordPress Database Backup el plugin que no te puede faltar







March 7th, 2008 at 11:12 pm
cabe aclarar que las imágenes SI se ven en agregadores de feeds online como google reader, lo que resulta muy bueno, porque no perjudica a los lectores del feed
March 8th, 2008 at 12:55 am
[…] la embajada e…31Harry Potter en español onl…31Cómo ser infiel y hacerlo c… 1 copadasVOTAR Como evitar el hotlinking modificando el htaccess?www.tinchio.com.ar/2008/03/07/como-evitar-el-hotlinking-modi… por pepe hace pocos […]
March 8th, 2008 at 1:59 am
No consigo hacer que funcione… sigo en la lucha.
March 8th, 2008 at 2:16 am
@Mauro: si, es todo un tema por ahi anda y por ahi no, me paso. Lo unico que te diria es que dejes el htaccess modificado y esperes un tiempo tal vez luego de resultados. Como dije en el post, a mi al principio no me andaba y despues empezo a funcionar. Si hay algun experto en hotlinking (?) que de la cara
March 8th, 2008 at 3:25 am
Va en la carpeta public_html o en la de arriba?
Ya estoy moviendo mis influencias(?) para ver como lo soluciono.
March 8th, 2008 at 3:34 am
Va dentro de la public_html. Otra cosa que me pasaba es que cuando hacia mis pruebas “caseras” yo seguia viendo las imagenes, pero si otro entraba al mismo lugar a ver la imagen veia la otra de “imagen robada”; lo mismo si entraba por proxy. A que viene esto? publica una imagen de pruba en algun otro lado y entra via proxy a ver que onda.
March 8th, 2008 at 1:11 pm
Yo me rompí la cabeza con esto. Y bloqueando todos los sitios excepto el nuestro, tuvimos problemas con algunos lectores de feeds para mostrar las imágenes, como Bloglines o Rojo (además hay tantos y nacen tantos nuevos que es imposible conocerlos todos).
Al final, opte por otra forma que también me parece bastante práctica, aunque tiene sus desventajas. En vez de bloquear todos los sitios (y sólo permitir el uso de imágenes en el nuestro), lo que hacemos es realizar un bloqueo selectivo para los sitios que nos roban ancho de banda seguido, como blogs de Blogger, Spaces, MySpace, livejournal o incluso Taringa. Nos queda más o menos así.
# BEGIN Hotlink
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?myspace\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?taringa\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?spaces.live\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blogspot\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.com/ [NC]
RewriteRule .*\.(jpg|gif|bmp|png)$ /nohotlink.jpe [L]
# END Hotlink
Podemos utilizar una imagen alojada en nuestro servidor utilizando la extensión “.jpe” y también podemos agregar nuevos sitios que nos hagan hotlinking, sin perjudicar ningún lector de feeds ni buscadores de imágenes como images.google.com.
A nosotros nos funcionó a la perfección después de 24 horas de instalado. Saludos y un abrazo.
March 8th, 2008 at 1:27 pm
Si los lesctores de feeds son un problema en este caso. Lo que pasa es que a mi me roban ancho muchos blogs distintos, ademas de una par de grandes como myspace y esos. No se, por ahora lo voy a dejar asi y si molesta mucho el tema de los lectores de feeds más adelante cambiare a este método. Saludos
March 8th, 2008 at 10:24 pm
Hola Tinchio:
Solo queria informarte que yo sigo tu blog a traves de Google Reader y ya no me muestra las imagenes correctamente, sino que ahora en vez de cualquier imagen se muestran las que tienes en este articulo.
Saludos!
March 8th, 2008 at 10:34 pm
Gracias por avisar Josekont, voy a ver que medida tomo, si lo que conto Eze o habilitar los lectores de feeds más conocidos. Saludos
March 9th, 2008 at 4:15 am
Y esto tambien funciona para archivos flv? (flashvideo)
March 9th, 2008 at 4:54 am
Segun tengo entendido no, solo para imágenes.
March 11th, 2008 at 2:50 am
JhonSmith: puede funcionar para cualquier tipo de archivos que tengas en el servidor. Sólo es cuestión de agregar las extensiones que quieras en la siguiente línea:
RewriteRule .*\.(jpg|gif|bmp|png)$
Tinchio: el problema de habilitar los lectores más conocido es que si, por ejemplo, alguien instala Gregarius (o alguno de los cientos similares que existen) como su lector de feeds personal puede llegar a tener problemas visualizando las imágenes de todas formas. Pero es mi humilde opinión
March 11th, 2008 at 2:58 am
Si si, todo eso lo tuve en cuenta, y en ese momento mi pensamiento era “no importa, agrego los lectores mas importantes nomas”; el problema fue que empece a recibir mails por este tema y como no tenia ganas de explicar uno por uno la situacion decidi aplicar tu método de “bannear” determinados sitios. La unica cagada es que en este caso son varios los que generan un consumo considerable, pero bueno, solo un poco largo el htaccess
March 12th, 2008 at 5:20 pm
Sep, es medio largo y a medida que lo vas actualizando se hace peor. A nosotros nos matan los foros, y ya tenemos unos 25 en la lista
De cualquier forma, creo que es la mejor opción para implementar el sistema y no perjudicar a ningún usuario-lector. Me alegra haber podido ayudar en algo.
La próxima es una colaboración -si la aceptás-; un tutorial para armar y configurar una red inalámbrica con un ZyXEL P-600 de Timofónica y un router wireless (no un access point) con Ubuntu, y un par de máquinas con Windows ‘98 y Windows XP. Es que en nuestro blog no tiene cabida el tema, porque es muy específico.
March 12th, 2008 at 5:40 pm
Dale, no hay ningun problema, el blog está abierto a cualquier colaboración. Ademas estoy por rendir finales asi que no tengo tiempo para armar algo demasiado elaborado. En contacto tenes mail y formulario. Saludos