viernes, diciembre 05, 2008

¿Como detectar el Hotlink de imágenes?

¿Como detectar el Hotlink o hotlinking de imágenes?

Hay algunas cosas en Internet, algunas "prácticas" que de forma casi general están mal vistas, en especial cuando son cuestiones de mala fé, y no de desconocimiento; una de ellas es el hotlink o hotlinking de imágenes.

Por si alguno no lo sabe, consiste en que si tu ves una foto (cualquier imagen) en una de mis páginas web, te gusta, y decides usarla, en lugar de "cogerla" y meterla en tu web (o blog), sólo la enlazas para que se vea en tu web, pero cargándola desde la mía cada vez que tu tienes una visita. Además, lo habitual es no enlazar al origen de la foto, una mínima compensación de equilibraría en algo el hecho.

Tras un tiempo viendo algo raro en las estadísticas (santas estadísticas, son como el chupete para los bebes, hay que tenerlas siempre a mano), he descubierto el problema. La pista final que me ha llevado a ello, dado que el tráfico no era excesivo como para tener problemas con el hosting, es que estaba recibiendo más "CLIENTES" que "VISITAS" ( tal como lo denominan en el panel de webalizer). Es decir, tenía más peticiones de archivos distintas que visitas reales, cuando lo normal es todo lo contrario: que un cliente realice más de una visita.

Para entenderlo mejor, pensemos en un Centro Comercial: lo normal y lógico es que si tiene 1.000 ventas al cabo del día, estas sean realizadas por un número inferior de personas distintas, es decir, que cada persona haga más de una compra en el día (porque se lo olvidó algo, o porque le gustaron mucho las galletas). Lo que no es normal es que hagan 1.000 ventas a 1.100 personas...

Aunque no sea mi caso, porque insisto que el tráfico (Megas) no era excesivo, lo habitual es darse cuanta porque el tráfico de tu hosting se multiplica de forma exagerada mientras que las visitas no lo hacen igual.

Por si alguno tiene ese problema, hay soluciones para el Hotlinking, una de ellas es la modificación del archivo .htaccess(o creación si no lo tenías). ¿ y como se hace?
Es relativamente simple, sólo añadimos este código en el archivo .htaccess:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?tuweb.com(/)?.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|bmp|zip|rar|mp3)$ - [F,NC]

(fuente código)

8 comentarios:

Alvaro dijo...

No sé si entendí bien pero... creo que en circunstacias y si la cantidad de Mb no es muy elevada, incluso podría ser beneficioso. Porque aunque sean imágenes son links hacia nuestra página.

¿No?

Soy dijo...

Olvidalo Alvaro, de cara a posicionamiento ese "enlace" no vale, realmente no te apuntan a ti, a tu web, sino a una imagen.
Se trata de un robo: a veces es un robo pequeño(si tienen pocas visitas o si la imagen es pequeña en KB), y otras un robo grande, y a más de uno le han tirado el hosting en algunos casos (si tienen un nº de visitas elevado.

Oscar dijo...

Supongo que eres consciente de que ese código bloqueas a Googlebot-Image (y cualquier otro).

Lo digo porque no estaría de más que lo avisaras. Tal vez a ti ese tráfico te importe poco, pero habrá gente al que le sirva de mucho y se pueden llevar una sorpresa.

migugat dijo...

Hola,

Aunque no me parece mal poner un código para bloquear este tipo de actos, en general estoy seguro que la mayor parte de los hotlinks que ocurren se deben más a falta de conocimientos (muchos no saben que está mal visto) que a una mala fe.

Por ejemplo, las versiones antiguas de Wordpress con el icono del arbol que te pedía la URL de la foto inducia a error, ya que los usuarios sin conocimientos ponían una URL de la foto sin pensar si eso era lo correcto o no.

El botón de subir foto estaba mucho más oculto, lo cuál lo hacía prácticamente invisible...

Un saludo,

John dijo...

Bueno mi sugerencia seria que le pongamos un logo o la Url de neustra webs o blog a la imagen en cuestion de esta froma podemos optener algun benefico de todo esto no crees?

http://www.webseoperu.com/blog/

wilmer miguel dijo...

Un robo de ancho de banda, aqui para los que no desean que se muestre un error donde te linkean:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|png)$ imagenes/nohotlink.jpg [L]

Claro está, el “imagenes/nohotlink.jpg” debe modificarse por la dirección de la imagen que deseamos que muestre cuando alguien pretenda mostrar cualquier imagen de nuestro sitio.

Saludos,
Peru Studios

riback dijo...

El uso .thaccess es bueno pero no funciona en mozilla ya que ahí no valida por referer y habilitando esta línea,(rewriteCond %{HTTP_REFERER} !^$) deja que cualquier dominio en mozilla y safary puedan ver mis imágenes, como sabemos en mozilla no para información de referer. me pueden dar una idea de como poder solucionar este problema tengo en una pagina .aspx un swf que presenta unas imágenes

riback dijo...

Gracias por cualquier ayuda, un comentario adicional que trate en el swf pasar el referer y haciendo un post a una pagina nueva si funciona

saludos desde Ecuador