Cómo detectar y combatir el hotlinking con AWStats

He descubierto un fantástico método para detectar fácilmente qué servidores externos nos roban ancho de banda mediante el odioso hotlink.

Para ello es necesario tener instalado en nuestro servidor el software de análisis AWStats. Si dispones de un servidor propio, no te debería ser muy difícil instalarlo y configurarlo (por ejemplo, está incluido en los repositorios de las distribuciones GNU/Linux basadas en Debian). Y si, como yo, utilizas un servidor de alojamiento compartido, es bastante probable que ya esté incluido, con lo que sólo tendrás que activarlo en tu panel de control (cpanel o similar).

Para que el AWStats detecte qué servidores realizan llamadas a imágenes alojadas en tu propio servidor (lo que en la jerga se conoce como Hotlinking), se ha de añadir al final de su fichero de configuración lo siguiente:

#
# hotlink
#
ExtraSectionName1="Hotlinking pages"
ExtraSectionCodeFilter1="200 304"
ExtraSectionCondition1="URL,\.mpeg$||URL,\.mpg$||URL,\.avi$||URL,\.jpg$||URL,\.gif$"
ExtraSectionFirstColumnTitle1="Referrer"
ExtraSectionFirstColumnValues1="REFERER,^(?!http:\/\/www.example.com)http:\/\/(.*)$"
ExtraSectionFirstColumnFormat1="<a href='http://%s' target='_blank'>%s</a>"
ExtraSectionStatTypes1=HBL
ExtraSectionAddSumRow1=1
MaxNbOfExtra1=25
MinHitExtra1=1

Por supuesto, en lugar de www.example.com, has de poner la URL base de tu servidor.

En el caso particular de Hostgator, mi proveedor de alojamiento favorito, el fichero de configuración se encuentra en la ruta ~/tmp/awstats/awstats.www.example.com.conf donde www.example.com lo tienes que sustituir por la URL base de tu servidor. Puedes, por tanto, editarlo para añadir el texto anterior. A partir de ese momento aparecerá en el menú de la izquierda del panel de AWStats, abajo del todo, la opción de visualizar las Hotlinking pages, indicando tanto el enlace que lo realiza, como el número de solicitudes realizadas, el tráfico de salida provocado, y la fecha y hora de la última visita. Es lógico y normal que aparezcan muchas veces el buscador Google, pero a ese sí es conveniente dejarle usar nuestras imágenes, como es evidente.

Una vez detectado qué servidores externos te roban ancho de banda, puedes proceder a combatirlo editando tu fichero .htaccess para añadir lo siguiente:

# Evitar hotlinking de un sitio particular
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?hotlink1\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?hotlink2\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?hotlink3\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?hotlink4\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://www.example.com/ay-payo-no-me-robes.jpg [L]

Debes sustituir hotlink1.com, hotlink2.com,… por los sitios que te están robando ancho de banda, y http://www.example.com/ay-payo-no-me-robes.jpg por una imagen suficientemente explicativa del robo están cometiendo (un consejo: cuanto más grosera sea, mejor, pero que no nos oiga nadie 😉 )

Cómo detectar y combatir el hotlinking con AWStats
Valora este apunte

4 comentarios en “Cómo detectar y combatir el hotlinking con AWStats

  1. Y pensar que una vez me enojé tanto porque me robaban las imágnenes que con la misma ruta puse otras que sólo tenían la dirección de mi blog, y en el post mio puse imagenes nuevas. De modo que a ese que me copiaba todo le aparecía una imágen con la dire de mi blog jajajaja. Ahora con ésto creo que todo eso del hotlinking se terminará. Espero que todo me salga bien y que no haya problemas. Muchas gracias por explicar como se hace!

  2. jmarior, con el awstats podrás darte cuenta si el hotlinking que sufres es o no malintencionado. A mi, personalmente, me da rabia que algunos se lucren con el trabajo y el ancho de banda ajeno, así que por eso tomo medidas expeditivas. Y sí, utilizo imágenes muy muy groseras, a la par que divertidas, jejeje

  3. bueno, leyendo el consejo final, sobre ser grosero… no creo que merezca la pena, la mayoría de los hotlinks son por desconocimiento y si alguien se rebota podría dar más problemas que al principio.

  4. Fantástico hack para detectar el hotlinking con awstats, hace años que detecté esta lacra del hotlinking y de vez en cuando doy una batida pero ahora puedo controlar quién consume realmente mis recursos.

Deja un comentario