Protege tu .git

Hasta hace poco en mi empresa utilizábamos subversion como repositorio, no somos un equipo grande y las funcionalidades que nos ofrecía el repositorio eran suficiente para nuestros proyectos.
Recientemente, debido a que un cliente nos ha impuesto utilizar git como repositorio principal y dado que nuestra relación con ellos es muy importante, decidimos mover todos nuestros repositorios a git. Tampoco es que vayamos a utilizar extensivamente las ventajas que nos ofrece, pero si que nos obligaría a funcionar de manera más fluida con una herramienta que vamos a necesitar si-o-si.

El caso es que, en nuestra anterior configuración, utilizábamos subversion para mantener el código de producción de algunas webs y al modificar el repositorio hicimos lo propio con git, teniendo una «feliz transición». El problema vino en que, realmente, no eramos conscientes de las diferencias reales que tenían los dos repositorios y dentro de los directorios servidos junto a la web en cuestión se encontraba el directorio .git.

¿Qué significa esto? Pues ni más ni menos que todo el mundo mundial tiene acceso a tu repositorio local y puede, entre otras cosas, acceder a todo el código de lo que hay allí publicado… Y eso no puede ser. ¿Qué hacemos para evitarlo?

Hay varias formas de hacerlo, dependiendo de si tienes o no un .htaccess en tu web o no y de la configuración de tu servidor, en mi caso la solución que implementamos fue añadir las siguientes líneas al archivo de configuración de cada web:

        <Directory /directorio.de.la.web/.git>
		Options FollowSymLinks
		AllowOverride All
		Require all denied
	</Directory>

Esto indica al servidor que todo lo que hay bajo el directorio .git no está autorizado para ser visto… Reiniciamos el servidor o recargamos la configuración y ya tendremos el problema resuelto.

Y con esto y un bizcocho… Podemos empezar nuestra semana.

¿Quién mantiene la web de Movistar?

Hace como 14 años que soy cliente de movistar, casi el mismo tiempo en el que me he dedicado a hacer aplicaciones que, total o parcialmente, funcionaban en internet. He pasado por las épocas más crudas de las guerras de los navegadores, por los applets iniciales, por los activex peligrosos, por las vulnerabilidades flash, por la accesibilidad obligatoria, o por el advenimiento del AJAX. En todas estas etapas las webs han cambiado, las modas se han impuesto y, finalmente, el usuario ha decidido con qué navegador se sentía más cómodo y qué experiencia de usuario esperaba de una web. Nosotros, los proveedores, nos limitábamos a darle al cliente lo necesario para que pudiese acceder y utilizar nuestros servicios con comodidad y agilidad… Bueno, todos menos Movistar.

La web del canal cliente de movistar es un paso obligatorio para todo aquel que quiere tener acceso a su factura, consultar los puntos o intentar ver el consumo de su línea. Es normal que un proveedor de banda ancha tenga una web en la que poder acceder a estos servicios, es más, sería deseable que estos servicios fuesen de una calidad alta. Desconozco completamente quien se ha encargado de este servicio. No se si se trata de una empresa subcontratada o personal propio de la empresa, lo que si les puedo decir es que su web apesta.

En mi trabajo solo utilizo ubuntu para todo (es lo que tenemos en la oficina y estoy muy contento con ello). Además, dispongo de un Macbook con el que estoy muy satisfecho, un IPad y el peor ordenador de mi casa está dedicado a windows para emergencias y para resolver la papeleta si alguien se salta a la torera el respeto a los estándares… El caso es que necesito descargarme mis facturas y revisar mis consumos periódicamente y para ello tengo que acceder a esta web… Pero toda paciencia tiene un límite.

Antiguamente era normal ver webs que solo se podían utilizar con Internet Explorer ¡¡incluso con el infame IE6!! dado que los estándares no estaban demasiado desarrollados y la cantidad de usuarios que utilizaban otro tipo de navegadores o sistemas era muy reducido. Ese era el caso de la web de movistar que había que asumir como un mal transitorio hasta que lo arreglasen. Hace unos meses, sin embargo, anunciaron a bombo y platillo una renovación de la web, supuse que, dado que 2010 ya es un año bastante avanzado, que CSS y Javascript son estándares ampliamente adoptados, que IE6 ya ha desaparecido del soporte de windows, que Firefox y Chrome copan más del 50% de los navegadores en el mundo, todo hacía suponer que aprovecharían y actualizarían también el canal cliente para que la mayoría de sus usuarios pudiesen hacer uso del mismo.

Pero no, quizá movistar ha dado más importancia a que la home se vea bonita que a que los usuarios puedan usar sus servicios y en su página de accesibilidad nos indican que las páginas de canal cliente están optimizadas para Internet Explorer 5.5 y en adelante (¿¿!!¡¡??).

Tras intentar acceder infructuosamente a facturas y servicios varios desde firefox / chrome / safari desde mac / linux / ipad simplemente eché un vistazo al código y pude constatar que siguen usándo código javascript solo compatible con Internet Explorer. Usan windows.all y acceden a los elementos de la página de manera que solo los navegadores de Microsoft pueden entenderlo. Hay algunas funciones que si que han modificado para que desde cualquier navegador se pueda usar, pero la inmensa mayoría están hechas solo para IE… ¿Se darán cuenta ya que eso expulsa a más de la mitad de sus clientes? Además, en mi caso, me obliga a tener una máquina con windows para acceder a sus servicios, una cosa totalmente ridícula dado el estado actual de las tecnologías web.

Por eso, si algún responsable de la web de Movistar termina por casualidad leyendo esto, me ofrezo para informarle de todos los errores que tienen en sus páginas si es que por falta de medios no disponen de un mac o de un linux para poder probar… Si, simplemente, es algo que hacen a propósito, por favor, que lo digan para saber que nunca van a cambiar y poder optar a cualquier otro proveedor que tenga en cuenta a sus clientes a la hora de diseñar sus servicios internet.