Mostrando entradas con la etiqueta hotlink. Mostrar todas las entradas
Mostrando entradas con la etiqueta hotlink. Mostrar todas las entradas

domingo, 19 de julio de 2009

Proteccion de hotlink con Apache

Problema: 
   Poseer un website con contenido de imágenes u otro tipo de media y que existan otros website que hagan referencia a tu contenido. El punto mas negativo de esta situación es que estas gastando TU ANCHO de banda, memoria y recursos de tu servidor. Al problema anterior se le conoce como Hotlinking. 

Solución: 
   En el caso de Apache (existen soluciones similares en IIS) la solución es utilizar el archivo .htaccess con un código que veremos más abajo. Existen dos soluciones: a) bloquear la solicitud HTTP si el HTTP_REFERER no contiene el contenido que deseamos b) Devolver una imagen pre-configurada. En el siguiente artículo nos enfocaremos en devolver un código de error que es mi opción preferida debido a que de esta manera gastamos menos CPU y ahorramos de verdad ancho de banda 

Requerimientos: 
 Servidor Apache con el modulo Rewrite (mod_rewrite). 

Procedimiento: 
  Colocar el siguiente código en el archivo .htaccess 

 RewriteEngine on 
 RewriteCond %{HTTP_REFERER} . RewriteCond %{HTTP_REFERER} !^http://(www\\.)?chistesdevenezuela\\.com [NC] RewriteRule \\.(gif|jpe?g)$ - [NC,F] 

Explicación código anterior: 
  RewriteEngine on Este comando comienza el modulo rewrite, necesario para poder trabajar con los comandos rewrite 
  RewriteCond %{HTTP_REFERER} . Con este comando permitimos HTTP_REFERERs en blanco. Esto es muy util porque alguien puede escribir directamente el URL en el navegador, su navegador puede estar configurado para no enviar el referrer y/o incluso existen Firewalls capa 7 que eliminan el HTTP_REFERER de la solicitud HTTP RewriteCond %{HTTP_REFERER} !^http://(www\\.)?chistesdevenezuela\\.com [NC] Esta línea hace match con aquellas solicitudes que vengan del dominio chistesdevenezuela.com, incluso, no es necesario que lleve el www en el referer. El doble back-slash luego del dominio es para crear un carácter de escape y que el punto en .com se comporte realmente como un punto. Importante: 
Para permitir dominios adicionales solo duplica esta línea cambiando el dominio. RewriteRule \\.(gif|jpe?g)$ - [NC,F] Esta linea indica que tipo de archivos serán permitidos desde el dominio especificado en la linea anterior. Para permitir nuevos tipos de archivos solo agrega nuevos pipes seguidos por el tipo de archivo (por ejemplo png, bmps, etc). 


Eso es todo, 

Suerte.

Una mejora práctica en el Transporte DNS sobre UDP en IPv6

Por Hugo Salgado y Alejandro Acosta Introducción y planteamiento del problema En el presente documento queremos discutir sobre un draft (bor...