Bloquear el Hotlinking en tu servidor web

Desde hace varios meses el foro supera el ancho de banda mensual (15Gb ahora mismo) debido a algunos factores convencionales, como por ejemplo, el aumento de usuarios participantes en los foros, pero también por un uso indebido de los archivos del sitio web. Hasta que migremos de server, vamos a intentar que la página esté visible el máximo tiempo posible y que no vuelva a ocurrir lo del mes pasado… que estuvo casi tres semanas down.

Por una parte hemos reducido el tamaño de varias imágenes y fondos de la página que lo que hacían era consumir Mbs cada vez que se visualizaba la página. Además de depurar algunas tablas de la base de datos, hemos configurado el .htaccess para evitar el hotlinking y evitar que algunos chupópteros se aprovechen de nuestras imágenes, y por tanto, de nuestro ancho de banda.

¿Qué es el hotlinking?
El hotlinking ocurre cuando un usuario enlaza, sin tu permiso, tus contenidos desde otra web (normalmente suelen ser imagenes, videos o ficheros). En nuestro caso nos afectaban especialmente las imágenes, que podían usarlas otros usuarios en otros foros como avatares o firmas, pero que tiran directamente de nuestro servidor, por lo que somos nosotros quienes consumimos el ancho de banda.

¿Cómo puedo evitarlo?
Podemos hacerlo configurarando el Apache introduciendo varias líneas en el archivo .htaccess. Resulta muy sencillo evitar el hotlinking.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?midominio.com(/)?.*$ [NC]
RewriteRule \.(gif|jpg|png)$ – [F]

Recordar midominio.com por vuestro dominio. La última línea nos permite seleccionar el tipo de archivos que queremos bloquear. Nosotros hemos escogido las tres extensiones de imágenes más comunes: GIF, JPEG y PNG. Si quieres bloquear archivos o videos bastaría con añadir las extensiones correspondientes.

Finalmente y si queremos que cuando alguien intente usar tus imágenes y tu ancho de banda aparezca en lugar de tu imagen otra cualquiera, como por ejemplo, ‘No tomes imégenes de mi servidor’, debemos cambiar la última línea por éstas:

RewriteRule \.(gif|jpg|png)$ http://www.miweb.com/nopermitido.gif [R,L]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

What is 12 + 8 ?
Please leave these two fields as-is: