Porque sabemos joven claber que con evitar que te roben el ancho de banda no es suficiente y tú solo ansías venganza, este tutorial es para ti.
Finalidad del tutorial Vengarnos y putear a todo aquel que intente robarnos nuestra preciada colección de fotos triple equis alojada en nuestro servidor, mostrando una imagen de reemplazo o directamente no mostrando nada.
Requisitos
Un servidor con soporte para mod_rewrite
Una imagen que moleste (opcional, pero para un par de ideas, busca "goatse" en Google)
Un poco de cerebro, al menos el suficiente para saber cambiar donde ponga tusitio.com por tu verdadero dominio
Un par de minutos
¿Qué es el HotLinking? HotLinking es enlazar recursos, principalmente imágenes pero cualquier otro tipo de fichero es aceptado, directamente desde la web original y mostrarlo en la nuestra, con el consecuente ahorro en ancho de banda. Algo así es lo que hace Cristalab con nuestros avatares (que cada uno tiene en su servidor), el avatar se muestra en Cristalab.com, pero realmente está en nuestro servidor, consumiéndonos ancho de banda a nosotros (¡Te demandaré por ello Freddie!). Muchos paneles de control tienen la opción de permitir o no el hotlinking, unos de una forma más completa y personalizable y otros cierran las puertas sistemáticamente a todo (incluso a nuestra querida Cristalab).
Para todos ellos, y para tí que te lo mereces, un tutorial paso a paso (¡juas!) de como evitar y personalizar el hotlinking.
Nuestro amigo el .htaccess Ya hablamos del .htaccessaquí, así que leedlo o simplemente quedaros con la idea de que es un pequeño archivo de texto que permite configurar muchos aspectos de tu web. En cualquier caso, lo usaremos, junto con el módulo mod_rewrite para nuestros propósitos.
Modo de empleo Variante A : Enemigos específicos Esta es quizás la variante más divertida porque te permite darle a cada uno lo que se merece, sin embargo es más dificil detectar cuando ocurre, ya que primero tenemos que tener conocimiento de que alguien nos está robando una imagen y luego actuar en consecuencia. En ese caso tendremos un .htaccess de la siguiente forma (puede variar si ya tenemos algo en el archivo) :
Evidentemente podemos hacer varios grupos y a cada uno mostrarle una imagen diferente (MWAHAHAHA!)
Variante B : Mierda para todos salvo para los amigos Esta opción es la versión más despreocupada, ya que en principio bloqueamos a todos los que nos intenten robar una imagen y sólo dejamos a aquellos que nos interese permitirle el acceso.
El código es MUY parecido al anterior, salvo por el ! de antes de las url's y después de {HTTP_REFERER}, que como se están imaginando significa negación y por tanto lo que hace es redirigir cualquier llamada a una imagen (salvo de esos sitios) a images/nomelinkees.jpg.
Código paso a paso
Código :
RewriteEngine On
Iniciamos el "rewrite engine", sólo es necesario hacerlo una vez al inicio del .htaccess
Le decimos que sitios deben ser casigados (parte clave la ausencia de !)
Código :
RewriteCond %{HTTP_REFERER} !^$
Con esto permitimos el enlace a todos los que no tengan un http referer (o encabezamiento en blanco), que pueden ser programas que enlacen directamente con nuestros recursos.
Con (jpe?g|gif|bmp|png) le indicamos el tipo de ficheros, podemos añadir mp3, wav, doc, odt, pdf, los que queramos pero si enlazan un archivo de audio esperarán un audio y no una imagen ¡Podemos grabar un mp3 y putearles por voz!
NOTA: Al proporcionarles un archivo alternativo (images/nomelinkees.jpg) les estamos mostrando una imagen de nuestro servidor por lo que seguimos consumiendo nuestro ancho de banda pero obtendríamos unos minutos de diversión irreemplazables. Si quisiéramos no mostrar nada (y ahorrar ancho de banda, pero divertirnos menos) sólo tendríamos que usar esta línea en lugar de la última :
Me parece un excelente tip, gracias _CONEJO. Por:Carloz.Yanez
Con la última opcion podrias linkear a una imagen en otro servidor? Sería útil para subir la imagen de error a imageshack o similar. Por:Lunatic Lycanthrop
Realmente ilustrativo, _CONEJO... Y con una mente maligna puede ser una gran alternativa !!!... Por:M@U
Excelente tip, esto si va a resultar muy util. Por:Victor-Nael
Se ha detectado un fallo de seguridad en el popular navegador opensource Firefox. Concretamente se trata en un error en la validación de la entrada de usuario, ya que con el uso de resource:// con caracteres codificados, se podría acceder a direcciones no permitidas en la configuración de seguridad del navegador. Por:Mozilla_blog
Buen tip! gracias Por:PabloHdS
¿En qué consiste entonces la vulnerabilidad? Pues en que si en lugar de ..\ utilizamos ..\ la navegación a través de directorios (y el consiguiente acceso a ficheros locales de nombre conocido) sí es posible. Por:enjoydasilence_blog
excelente tip bunny aún no lo pruebo pero gracias de anticipado Por:enjoydasilence_blog
Muy bueno, jajaja
Estoy deseando ponerlo solo por dar la lata Por:MorphX
Nueva interfaz vetusta está bien para variar ejejeje parece mas pa estudiosos Por:chevere_blog
Simplemente quería comentarles que gracias a este tutorial excelentemente explicado, he logrado eliminar por completo el hotlinking de mi sitio. Nunca había tenido ese problema, cuando uno hace una web, trata de mostrar a los usuarios calidad y eso repercute en también calidad de imágenes, y es incómodo ver, los que saben perfectamente que están haciendo hotlinking, como usan tu server. Por eso mis sinceras felicitaciones a toda la gente de Cristalab. Por:Yeison_blog