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.

Los comentarios están desactivados.