Domo-kun os vigila (y II)

Como no todo en esta vida puede ser alegría y jolgorio, después de divertirme modificando las imágenes enlazadas sin permiso, diseñé una imagen más informativa como sustituta para las hotlinkeadas. El caso es que el Domo-kun me parecía irrenunciable, así que finalmente quienes enlacen por las bravas una imagen de Nosololinux se encontrarán con algo parecido a:

informativo.jpg

Supongo que con el tiempo habrá que poner algo más reducido y que de paso consuma menos ancho de banda, claro. Como por el momento no hay tampoco grandes problemas de transferencia, pues así se queda. La imagen remite a esta página donde se explica un poco de qué va la cosa.

Bueno, la pregunta que puede surgir ahora es ¿cómo hacer todo esto? Pues toca hacer algunos cambios en el archivo .htaccess, siempre que utilicemos Apache como servidor. Este archivo se encuentra oculto en el directorio público del equipo.

La solución más común es la de prohibir cualquier uso externo y establecer algunas excepciones explícitamente. El problema de esto es que esta práctica impide a los lectores RSS abrir las imágenes, y siempre habrá un lector utilizando uno que no conocemos y que no hemos permitido. Como ya he dicho por el momento no tenemos graves problemas de transferencia, por lo que vamos a adoptar otro enfoque: penalizar a los abusones.

Así que en vez de prohibir, vamos a permitir por defecto, para después prohibir el acceso a los sitios que se pasen de la raya, que podemos conocer gracias a las estadísticas del servidor. En concreto, creo que prácticamente el 90% de las peticiones tienen lugar desde blogspot.com, wordpress.com y myspaces.com (cómo me sorprende este último). Así que cerrando el grifo a estos dominios una buena parte del problema quedará resuelto. Esto podemos hacerlo añadiendo al .htaccess:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+.)?myspace.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+.)?blogspot.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+.)?wordpress.com/ [NC]
RewriteRule .*\.(jpg|gif|bmp|png)$ /sustitucion.jpe [L]

Vamos, la idea es sencilla: basta escribir las condiciones adecuadas e indicar al final la orden de que se reemplacen por la imagen que deseemos. Si directamente queremos impedir el acceso, podemos utilizar:

RewriteRule .*\.(gif|jpg|png|bmp)$ - [F,NC]

Si especificamos una imagen de sustitución, es importante que tenga una extensión distinta a las prohibidas: si metemos una imagen jpg como sustitución de las jpg se producirá un bucle infinito e Internet podría colapsarse sobre sí mismo, con resultados catastróficos. En su lugar, es mejor utilizar la extensión jpe para la imagen de sustitución (por ejemplo). Funcionará igual y además no nos dará problemas.

¡Pues eso es todo! La mayor parte de la información para hacer todo esto la extraje un artículo muy claro y sencillito de La Maté por un Yogur.

Publicado en Internet | 2 comentarios

Artículos relacionados

2 comentarios

Suscríbete a los comentarios (RSS) o enlaza este artículo.

  1. 22 de agosto de 2007 a las 6:20 pm

    Koki escribió:

    Hubiese sido gracioso poner el Goatse jeje

  2. 3 de marzo de 2008 a las 1:58 am

    nosololinux » Teletubbies en concierto escribió:

    [...] tiempo que comenté por qué no se deben enlazar imágenes directamente desde otro servidor, y las medidas que había tomado para limitar el uso que se pudiera hacer de las imágenes de Nosololinux. Sin embargo, con la [...]

Escribe un comentario

Actualidad Ajedrez Citas Cultura libre Curiosidades Curso de ética ingenieril Echando una mano Hardware y electrónica Humor I Love Mac Inclasificable Indignado me ando Informática teórica Ingeniería del software Inteligencia artificial Internet Libros Mundo friki Nosololinux Segmentation Fault Seguridad Sistemas Operativos

Acerca de

Nosololinux es un blog sobre ciencia y tecnología, y más concretamente, sobre electrónica, sistemas informáticos, inteligencia artificial y cosas del estilo. El humor tampoco falta.

Nosololinux se distribuye bajo licencia Creative Commons

Creative Commons License