Somos muchos y muchos los que alguna vez hemos sufrido, sufrimos o sufriremos el dichoso hotlinking, inline linking, robo de ancho de banda o como queráis llamarlo.
La solución a este problema es bastante sencillo: tal y como veréis en Memorias de un Náufrago, tan sólo necesitamos hacer uso de .htaccess o en su defecto un poco de programación en PHP, que puede llegar a ser un poco más potente.
Pero por desgracia, este método también usa tu ancho de banda, no olvidemos que a fin de cuentas se descarga la foto que usamos de advertencia. Así que, si queremos tener un sistema menos permisivo, podemos denegarle el acceso:
RewriteCond %{HTTP_REFERER} ^http://(.+.)?dominioADenegar.com/ [NC]
RewriteRule ^.* – [F]
Digamos que este método es el más infalible, pero no el más divertido. Y es que si la gente no tiene ningún tipo de escrúpulo a la hora de robarte ancho de banda, como vas a tenerlo tu a la hora de devolverle la moneda. Para esto os voy a presentar dos opciones:
1.- Esta primera opción nos vale para cualquier tipo de sitio. Consiste en encontrar la imagen más asquerosa o desagradable que podamos (sin pasarnos) y establecerlo como imagen hotlinkg. Yo por ejemplo, tengo esta, de un «regalo» que nos dejaron una vez en… bueno esto no importa 😉 . Veréis que pronto dejan de hacer el hotlinking.
2.- Esta segunda opción es un poco más divertida (gracias Raul). Para ello, nos vamos a aprovechar del echo de que un navegador web no comprueba si una imagen es en realidad una imagen o no. Nosotros, en vez de la imagen, vamos a pasarle la URL de deslogueo, así que cuando el navegador del usuario solicite la imagen, nosotros, en vez de darle la imagen le estaremos dando la url de deslogueo. El navegador la solicitará y automáticamente quedará deslogueado del sitio remoto (obviamente, si estaba logueado). Por ejemplo, para el hotlinking de Myspace, basta con poner el siguiente código:
RewriteCond %{HTTP_REFERER} ^http://(.+.)?myspace.com/ [NC]
RewriteRule \.(gif|jpe?g|bmp)$ http://collect.myspace.com/index.cfm?fuseaction=signout [R,L]
¿A qué es divertido?