Geek the Planet


Desarrollo no image

Published on julio 8th, 2009 | by Angelfire

7

Proteger nuestras imagenes de hotlinking mediante htaccess

Este post nacio debido a un copy-paste que me hicieron la semana pasada de un post, lo copiaron intacto incluso la imagen que tenia (que estaba hospedada en mi host), a mi realmente no me preocupa mucho que hagan este tipo de cosas, siempre y cuando me citen en algún lado o que por lo menos se tomen la modestia de subir la imagen a algún otro servidor; a este tipo de “robo y abuso digital” se le conoce como hotlinking, el mayor problema que representa esto, es el robo de ancho de banda, pues al copiar la imagen en otro lado, estan gastando nuestro ancho de banda, que para la mayoria de nosotros quienes tenemos un plan de hosting pequeño, este es limitado. Si este hotlinkeo de imagenes fuera masivo, podrian dejar a cualquier sitio offline por exceder el ancho de banda disponible por mes.

Bueno, dejando a un lado esta pequeña introducción moral, les mostraré como evitar facilmente el hotlinkeo, haciendo uso del htaccess. El htaccess es un archivo de configuración en un servidor web (comunmente en Apache), y contiene comandos en el lenguaje del servidor que le indican cómo debe comportarse en ciertas situaciones.

Esta primera línea es la encargada de activar el módulo de reescritura.

RewriteEngine on

En esta línea ponemos los tipos de archivo que queremos bloquear, como podemos ver son extensiones de tipos de imagenes.

RewriteCond %{REQUEST_FILENAME} \.(png|gif|jpeg|jpg)$ [NC]

A partir de esta línea pondremos los dominios que permitiremos muestren nuestras imagenes:

RewriteCond %{HTTP_REFERER} !^$


Estos son los dominios permitidos

RewriteCond %{HTTP_REFERER} !^http://www.midominio.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.midominio.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://midominio.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://midominio.com/.*$ [NC]

Ahora, por ejemplo si sabemos que nuestros lectores usan nuestros feeds para leer nuestro blog, y no queremos dejarlos por fuera, agregamos lo siguiente:

RewriteCond %{HTTP_REFERER} !^http://feeds.feedburner.com/misitio$ [NC]

Para que google muestre nuestras imagenes sin problemas:

RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]

Es muy común también reemplazar las imagenes que nos copiaron por una donde se haga la adertencia de que no se debe copiar, esto lo hacemos con la siguiente línea:

RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://misitio.com/images/nohotlink.jpe [R,NC, L]

Y es todo, ahora cada vez que nos copien una imagen, no les aparecerá la que copiaron, sino nohotlink.jpe.

Tags: ,


About the Author

Systems Engineering, Computer Systems Specialist, Social Engineering Specialist. Social Media Analyzer. Usability and SEO enthusiasm (Este es mi perfil de Twitter...)



7 Responses to Proteger nuestras imagenes de hotlinking mediante htaccess

  1. Machin says:

    Muy buen dato =) mi página aun es muy pequeña, asi que esto no es problema, pero de que es un excelente recurso, lo es.

    Muy útil.

  2. Illi.Pro says:

    Yo lo tenía activado hace muchos meses y lo desactivé porque comencé a tener problemas con mis lectores de Google Reader, veamos si con este código dejo de tenerlo, gracias por la info ;)!

  3. Carlos says:

    Hola Muchas Gracias por la información. por fin he podido proteger mis imagenes!!
    ,pero tengo un problema, muchos de mis lectores usan el traductor de google, he intentado dar permiso, pero no me resulta…
    Tú me podrias porfavor ayudar en esto?

    he probado con las siguientes lineas, pero ninguna me resulta:

    RewriteCond %{HTTP_REFERER} !^http(s)?://(www|translate)\.?google.* [NC]

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

    Muchas gracias!!

  4. Jesús says:

    Buena información que será de mucha utlilidad, un saludo.

  5. Pingback: Proteger imagenes del servidor | FOROS VIP

  6. Pingback: Proteger imagenes del servidor

  7. Originalweb says:

    Util articulo si quieres proteger tus imagenes.

Back to Top ↑