Como proteger tu blog contra el hotlinking

El hotlinking es el hecho de usar una imagen y publicarla fuera de su sitio fuente. Ej: si yo coloco una imagen en mi blog y alguien en vez de bajarla y subirla a su propio servidor solo la muestra pero cargadola o haciendo la peticion a mi servidor, eso es hotlinking.

Se usa mucho es blogs tipo planeta donde se copia todo directamente desde tus feeds. O en personas como el tal jim66 de taringa (tipo que odio) que solo copian el contenido y lo publican como suyo. Cual es el problema del hotlinking? Pues que esa imagen que se esta cargando desde tu servidor esta consumiendo tu transferencia mensual de datos. Cada hosting te da un monton fijo por mes. Aunque es verdad que hoy en dia con el abaratamiento  de costos los distintos hosting ofrecen cada vez mas transferencia mensual sigue siendo algo que tu pagas. Yo personalmente no me hago ningun problema porque mi hosting es godaddy y me da suficiente transferencia como para 20 paraisoslinux Como proteger tu blog contra el hotlinking A mi todo lo que me molesta son los tipos que copian y pegan los post como si fueran suyos sin siquiera citar la fuente.

Hay varias soluciones contra el hotlinking pero yo he elegido proteger las imagenes usando el archivo .htaccess y ademas usando una imagen prediseñada podemos sacar alguna ventaja de esos sitios que siempre nos roban. Como? Pues cada vez que alguien que no esta autorizado a mostrar nuestras imagenes lo hace, en vez de aparecerle la imagen original le aparecera esto:

Como proteger tu blog contra el hotlinking

De esa manera los visitantes sabran que ese tipo nos esta robando. Pongamos manos a la obra. Lo primero sera que descarguen el archivo .htaccess que esta en el directorio raiz de tu blog. Seguramente tiene un contenido mas o menos asi:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Debes modificarlo y agregar luego de RewriteBase / las siguiente lineas:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?paraisolinux.com/.*$ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png|jpg)$ hotlinking.jpg [L]

Debes cambiar la dirección de mi blog por la del tuyo. Y subir una imagen llamada hotlinking.jpg al directorio raiz como la que yo puse arriba, o busca una en google.
El problema aqui es que solo usas lineas las imagenes solo podran ser vistas desde tu propio blog. Pero que pasa con aquellos lectores que te leen desde google reader, blogs¡lines, google, etc? Para solucionarlo solo debes agregar condiciones de tipo RewriteCond con la direccion del sitio donde SI quieres que se vean las imagenes originales. Como ejemplo les dejo mi archivo .htaccess completo:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?paraisolinux.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?add.my.yahoo.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?bloglines.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?feedlounge.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?feedness.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?feeds2.feedburner.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?feeds.feedburner.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?bing.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?google.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?google\/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?images\google\/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?live.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?feedburner.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?netvibes.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?newsalloy.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?newsgator.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?yahoo.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://(www\.)?yahoo.es/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png|jpg)$ hotlink.jpg [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Les gusto? Que les parece mi decision de implementar esto? Si alguien tiene algun problema con la visualizacion de imagenes que me avise asi lo agrego a la lista.

Fuentes: blogodisea y galder

Suscribete GRATIS!
Recibe las novedades de Paraiso Linux en tu email

About perro

Casi Ingeniero en Informática. Programador en PHP y KumbiaPHP. Lo que mas adoro en el mundo es el conocimiento. Y el anime....y Japon...y el basketball...y bloguear claro. Aun sigo buscando la manera de hacer mi primer millon :)
Categorias Consejos Varios
Tags , , , , .
  • Nicolás

    Me parece genial, es cierto eso de que en algunas páginas los usuarios se dedican a hacer un copy-paste de todo el contenido sin indicar referencia y adjudicándose la autoria. Una excelente solución y de pasada tenes publicidad gratis. :up:

    • http://blogjapon.com.ar perro

      Gracias por tu comentario Nicolas :)

  • DOO

    Disculpa tu creaste ese código o lo copiaste ????

    Porque no veo ninguna referencia al creador del código, y como tu dices no te molesta que te usen la imagen sino a que copien el contenido….

    Creo que reclamas de lo que tu mismo haces… y yo también lo hago pero no reclamo =P. Es mas creo que si copian tu contenido es porque es bueno y mientras a mas personas le llegue el mensaje mejor será…

    SALUDOS

    • http://blogjapon.com.ar perro

      pero porque dices que no hay referencias? siempre pongo las referencias al final de mis post. Ademas nunca jamas hago copy&paste de un post, siempre le agrego valor y mi opinion personal.

      • DOO

        referencia a quien creo el código…

        porque de las paginas que pusiste no esta el auto de ese código. Por eso empece preguntándote si ese código es tu yo o lo copiaste ? A eso me refería.

        • http://blogjapon.com.ar perro

          Ni idea :-o ….pero creo que cualquiera con unos pocos conocimientos de .htaccess lo puede hacer.

  • http://mulretv.com.ar J0n1_1nc

    Muchas gracias amigo me re sirvio

    • http://blogjapon.com.ar perro

      para eso estamos :)
      Veo que eres de argentina…agrega tambien la siguente linea:

      RewriteCond %{HTTP_REFERER} !^http?://(www.)?google.com.ar/.*$ [NC]

  • Pingback: Evitar el hotlinking bloqueando solo a sitios especificos | Paraiso Linux