30 de Mayo, 2006

¿Quién te roba ancho de banda?

Hace un tiempo comentábamos lo que pasa cuando un periodista se mete a BOFH. Muy bueno Adriano :D.

Hay gente que, por desconocimiento o descuido (somos así de bien pensados), coloca en su web una de nuestras imágenes, sin copiarla en su servidor... es decir: la imagen sigue consumiendo nuestro ancho de banda, pero se ve en su página web. Tampoco hay que ser tan extremista (con buen humor) como lo fue Adriano, pero sí se puede poner remedio al problema.

Hay por ahí muchos tutoriales sobre cómo configurar Apache, directamente o con .htaccess, para evitar estas situaciones, por ejemplo impidiendo la carga de cualquier imagen si se solicita desde una página que no venga de nuestro servidor.

No me gusta ser tan drástico. Cuando veo en las estadísticas del servidor que tengo más de 500 hits desde myspace.com, entonces salta la alarma e investigo el caso :).

Tengo algunas lineas de configuración en mi httpd.conf, que podrían funcionar en un .htaccess (depende del proveedor):

# image leech
SetEnvIfNoCase Referer "^http://(.*\.)?livejournal\.com/(.*)" bad_img
SetEnvIfNoCase Referer "^http://(.*\.)?groups\.msn\.com/(.*)" bad_img
SetEnvIfNoCase Referer "^http://(.*\.)?forocoches\.com/(.*)" bad_img
SetEnvIfNoCase Referer "^http://(.*\.)?ansktracker\.net/(.*)" bad_img
SetEnvIfNoCase Referer "^http://profile\.myspace\.com/(.*)" bad_img

# image filter
<LocationMatch "/.*\.(gif|jpe?g|png)$">
        Order allow,deny
        Allow from all
        Deny from env=bad_img
</LocationMatch>

En las lineas SetEnvIfNoCase podemos ver los referer, o páginas desde donde se pide un contenido, a los que no sirvo imágenes porque en algún momento han efectuado un número de peticiones intolerable.

Los referer están con expresiones regulares: ^ es comienzo de linea, (.*\.)? para que opcionalmente pueda haber una cadena acabada en punto (así encajan tanto livejournal.com como www.livejournal.com, por ejemplo), \. para escapar los puntos que son puntos y no un símbolo especial de expresión regular, (.*) para cualquier cadena, $ para final de linea, etc.

Luego denegamos el acceso a cualquier fichero acabado en .gif, .jpeg (o .jpg, la e es opcional) o .png.

Aunque pueda parecer que no, ya que estas cosas se hacen por desconocimiento o descuido ;), resulta que en la mayoría de los casos quitan la imagen en muy poco tiempo (porque no carga, claro).

Además comentaba ayer con Inma que estos problemas pasan porque los buscadores indexan nuestras imágenes, y que si creemos que eso no nos aporta ningún beneficio, podemos evitar que pase. Eso se puede arreglar con un robots.txt en la raiz de nuestro servidor, con algo como:

User-agent: *
Disallow: /images/

En este ejemplo no queremos que se indexe ningún contenido del directorio /images/, que es donde están las imágenes de este servidor (se pueden hacer más cosas).

Ya para terminar, ¿una valoración de los dominios que tengo filtrados? Bueno, eso ya daría para un estudio más profundo ;).

Anotación por Juan J. Martínez, clasificada en: blog, hacks.

Hay 4 comentarios

Gravatar

Es algo que siempre me he tomado en serio, y es algo que tiene solución debido a la gran cantidad de servidores de imágenes gratuitos que hay por ahí.

Una curiosidad, ¿te han enlazado muchas fotos desde forocoches?

por Manu, en 2006-05-30 15:36:49

Gravatar

Creo que era un diseño de pegatina relacionado con wireless y wardriving.

Aunque estoy de acuerdo contigo en que el ancho de banda es dinero, en mi caso el servidor está en casa y no siempre se llega a producir un impacto notable. Así que no es cuestión de dinero, sino de que encima que no respetan la liencia de un contenido... usan tu ancho de banda :D

por Juanjo, en 2006-05-30 16:58:24

Gravatar

Si encima es tu ancho de banda particular el tema joroba más ;)

Otra curiosidad, el servidor... ¿está en la caja de un video?

http://blackshell.usebox.net/pub/gallery/blackshell_epia20041201/photo1.html

Al menos lo parece :D

por Manu, en 2006-05-30 18:00:38

Gravatar

Solo lo parece por fuera (y un poco, mira bien el frontal). No es la primera vez que me lo dicen :D

por Juanjo, en 2006-05-30 18:02:57

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: