proteger-archivos-mod-rewrite-anti-hotlinkingSi tienes archivos alojados en el servidor, en alguna parte debe existir un enlace a éstos, ya sean links HTML o en alguna CSS, y los que se decdican a robar contenido, tarde o temprano lo encontrarán.

Leyendo el blog askapache.com encontré un recurso para proteger los archivos alojados en el servidor con Mod_Rewrite.

Implementación

Este método de protección consiste en colocar una cookie llamada fspammers y asignarle los permisos 445:

GET /hotlink/lovefreedom.mp3 HTTP/1.1
Host: z.askapache.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://pixelcoblog.com/desarrollo-e-internet/
Cookie: fspammers=455

Cabeceras Mod-Rewrite

El módulo mod_rewrite tiene acceso a todas las cabeceras HTTP enviadas en una petición, por cada una de éstas en la petición del ejemplo de arriba, podemos usar mod_rewrite para validar.

Ejemplo Mod_Rewrite .htaccess

El siguiente es un ejemplo del archivo .htaccess que bloqueará cualquier petición a cualquiera archivo dentro de la carpeta hotlink (*):

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_COOKIE} !^.*fspammers=445.*$ [NC,OR]
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ /(.*)\ HTTP/1\.1 [NC,OR]
RewriteCond %{HTTP_HOST} !^z\.pixelco\.us$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://(www|z)\.pixelco\.us.*$ [NC]
RewriteRule ^hotlink/.*$ - [F]</p> /*(*)*/
  1. Cookie: revisa si la cookie fspammers está presente y posee los permisos 445.
  2. HTTP Protocol: revisa si HTTP 1.1 está siendo usado ya que al parecer muchos robots utilizan la versión 1.0.
  3. Host: revisa que el anfitrión o HOST  que realiza la petición fuera z.pixelco.us.
  4. Referer: revisa si el sitio que refiere es z.pixelco.us o www.pixelco.us

Corolario

El tema de la protección contra el robo de contenido es complejo, en mi caso personal he probado muchas soluciones que en su mayoría no me han funcionado, incluídos plugins WordPress.

En este caso el ejemplo me pareció interesante, aunque como no soy un experto en este tipo configuraciones me surgen algunas dudas, así que sería bueno que si conoces alguna solución mejor o pruebas con éxite esta que propongo, nos dejes un comentario.

Protecting Files with Advanced Mod_Rewrite Anti-Hotlinking

Post original (en inglés): www.askapache.com/htaccess/anti-hotlinking-mod_rewrite.html

Por Diego Cambiaso

Comunicador Social, Desarrollador de Software y UX Designer. Blogger desde el 2006, creador de Pixelco Tech. Viajero y fotógrafo. Entusiasta del diseño, apasionado por la tecnología y el social media. EN-ES-IT