1/08/2009

• Evitar Hotlinking, mediante Código

Excelente post sobre como evitar el Hotlinking ( que todos hemos hecho alguna vez ¿verdad? =P´´´ )

• • •
FUENTE ORIGINAL DEL ARTÍCULO:

El robo de ancho de banda debido al uso de archivos, generalmente imágenes, por parte de páginas web ajenas es lo que se denomina hotlinking, del que ya hablé hace un par de años. Esta práctica puede llegar a suponer un alto porcentaje de la transferencia de nuestro host, teniendo incluso que tomar medidas para evitarlo.

Echando un ojo a las estadísticas de trackhop descubrí que en el mes de marzo se habían realizado 32.000 requests desde myspace, 18.000 de una página de warez, 12.000 desde otra… Eso supone un exceso de peticiones al servidor y un consumo que para muchos puede ser trágico. Para evitarlo si usamos Apache tenemos 2 opciones, todas ellas a añadir en el .htaccess:

Prohibir el hotlinking a todas las páginas con excepciones

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !midominio\.com [NC] RewriteCond %{HTTP_REFERER} !images\.google\. [NC] RewriteCond %{HTTP_REFERER} !bloglines\.com [NC]  RewriteRule .*\.(jpggifbmppng)$ - [F]

Se pueden añadir tantas excepciones o formatos de archivo como se quiera.

Prohibir el hotlinking a determinadas páginas

RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://(.+\.)?myspace\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blogspot\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.com/ [NC]  RewriteRule .*\.(gifjpgpngbmp)$ - [F,NC]

Recordar que la última siempre debe cerrarse con [NC] y las anteriores con [NC, OR].

Sustituir la imagen robada por otra

RewriteRule .*\.(jpggifbmppng)$ /nohotlink.jpg [L]

Basta con cambiar la última regla (RewriteRule) por la línea anterior, apuntando a la imagen sustituta. El inconveniente es que el consumo no disminuirá de forma total.

Enlaces

Yo he preferido neutralizar los sitios que más peticiones hacen, dejando vía libre al resto de la red, ya que de otra manera pagarían justos por pecadores y por ejemplo, no se podrían ver las imágenes desde lectores de feeds.

Nota: Si usas WordPress sitúa el código fuera del bloque de WordPress en el .htaccess. Ya que si actualizas la estructura de los permalinks se borrará.

Mayor velocidad y seguridad -
• • •
luisdelbar®

2 comentarios:

Anónimo dijo...

Hola queria saber si esto es solo para apache o sirve para todo, tengo una pagina y he activado la prohibicion de hotlink, pero aun asi muchas paginas me lo hacen y estoy harta, porque a mi me cuesta el dinero, gracias.

luisdelbar® dijo...

Hola!

Supuestamente debe funcionar con cualquiera añadiendo eso en el .htaccess

Saludos!!!

►RELEVANT, THIS WEEK