JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Módulo para notificaciones web desde el navegador con HTML5

Estos días he estado creando un módulo JavaScript para facilitar el uso de las notificaciones del navegador usando la API estándar "Web Notifications" del World Wide Web Consortium (W3C). La idea es poder mostrar notificaciones nativas al usuario (de las que aparecen al lado del reloj en Windows, por ejemplo) pero desde aplicaciones web. Por ejemplo, cuando llega un nuevo correo (como hace GMail), o cualquier otra circunstancia que necesitemos notificar en segundo plano al usuario, pero desde el navegador. Actualmente el único navegador que NO las soporta es Internet Explorer / Edge, y no parece que tengan intención de soportarlas tampoco, pero en todos los demás funcionarán sin problemas. En su día escribí un artículo explicando con detalle cómo utilizarlas "a pelo", sin usar ninguna biblioteca intermedia. Esto es una especie de continuación. Lo que he hecho es crear una biblioteca que, en mi opini&... [Más]

La extraña cabecera "Upgrade-Insecure-Requests" y cómo gestionarla en el servidor

Como todo programador web que se precie, más temprano que tarde acabarás por utilizar el inspector de tráfico de Google Chrome o cualquier otro analizador de protocolos como por ejemplo el magnífico Fiddler. Estas utilidades sirven para inspeccionar todo el tráfico web saliente y poder ver exactamente qué datos se intercambian, poder modificar peticiones y respuestas, etc... lo cual es de gran ayuda para depurar las aplicaciones Web.Si inspeccionas tráfico generado por Google Chrome verás una cabecera muy rara en casi todas las peticiones dirigidas a través de HTTP:¿Qué es esta cabecera "Upgrade-Insecure-Requests"?Se trata de la implementación en Chrome de la especificación del mismo nombre creada por el World Wide Web Consortium (W3C). Se trata de un mecanismo que trata de generar conexiones más seguras para los usuarios.Así, cuando un navegador u otro cliente Web se conecta a un canal que no considera suficientemente seguro, puede solicitar al servidor un cambio a un protocolo más se... [Más]

TRUCO: Reproducir automáticamente un vídeo HTML5 desde un determinado punto

Para reproducir un vídeo (o audio) de forma nativa desde una página Web lo único que tenemos que hacer es usar una etiqueta <video>, y si el elemento multimedia está en un formato apropiado se reproducirá sin problemas: <video src="miVideo.mp4" autoplay controls> </video> Esto es solo rascar la superficie, pero lo pongo solo para situarnos.Si necesitamos reproducir el archivo, no desde el principio sino desde una posición posterior, normalmente deberíamos recurrir a un poco de código JavaScript para establecer el punto actual con la propiedad currentTime del objeto correspondiente.Lo que ya no es tan conocido es que en la mayor parte de los navegadores (todos excepto Internet Explorer), es posible conseguir ese efecto simplemente añadiendo un parámetro a la URL que indica dónde está almacenado el vídeo. Este parámetro es #t=. Por ejemplo, si el vídeo anterior lo incluimos de esta manera:<video src="miVideo.mp4#t=90" autoplay controls> </video> El víde... [Más]

Cómo cambiar el orden de los algoritmos criptográficos de SSL en Windows Server / IIS

Hace poco veíamos cómo solicitar un certificado digital para SSL usando un algoritmo de hash moderno, y no el que se usa por defecto en IIS.En esta ocasión vamos a ver cómo podemos modificar en Windows Server, y por lo tanto en Internet Information Server, el orden de preferencia de los diferentes conjuntos de algoritmos de cifrado disponibles. De este modo nos cerciorarnos de que los más modernos y seguros van primero en la lista y por lo tanto se les da preferencia a la hora de cifrar las comunicaciones, obteniendo un servidor más seguro.La cosa es bastante sencilla. Sólo hay que saber en dónde tocar.Lo primero que tenemos que hacer es abrir el editor de políticas de seguridad local del servidor. Para ello puedes intentar escribir:gpedit.smcen una línea de comandos o en el diálogo de ejecutar (Windows+R), pero lo más probable es que te aparezca este mensaje:El motivo es que necesitas usar una cuenta con privilegios elevados para poder cambiar los ajustes de seguridad. Así que lo mejo... [Más]

Cómo solicitar certificados con SHA-2 en lugar de SHA-1 en IIS y Windows Server 2008

Dentro de las tareas criptográficas necesarias para realizar comunicaciones seguras están los algoritmos de resumen digital o hashing. Uno de los más utilizados desde hace varios lustros es el algoritmo SHA-1. El problema es que este algoritmo ha sido ya vapuleado por algunos expertos en seguridad a partir de 2004, y hoy en día se considera inseguro, por lo que la mayor parte de fabricantes de navegadores y otros sistemas han anunciado que irán dejando de soportarlo paulatinamente: Microsoft Google Mozilla Lo que hay que hacer es utilizar SHA-2 en cualquiera de sus 6 variantes, y más en concreto se suele utilizar SHA-256. El consenso general es que a partir del día 1 de Enero de 2017 los navegadores que se encuentran con una conexión segura SSL basada en el algoritmo SHA-1 pasarán a considerarla insegura y mostrarán un aviso de seguridad. Es más, hoy en día esto ya está ocurriendo pues... [Más]

Cómo guardar a disco un mensaje de GMail en formato estándar

Hoy un truco rápido que uso a menudo y me parece de lo más útil...Si, como yo, eres usuario habitual e GMail, tanto de su versión gratuita como de su versión corporativa (Google Apps For Work), una cosa que es bastante molesta es no poder guardar a disco los correos electrónicos en su estado original. Esto puede ser útil para muchas cosas: archivo en carpetas concretas junto a expedientes y otra documentación, adjuntarlos físicamente a otros correos para facilitar su apertura y consulta del original, incluyendo las cabeceras, etc...Si usas un cliente de correo como Thunderbird, por ejemplo, es muy sencillo pues disponen de un botón de "Guardar" que los almacena en disco con el formato estándar EML (RFC 822, archivos con extensión ".eml"). Microsoft Outlook, por ejemplo, no los guarda ene ste formato sino en un propio con extensión .msg, pero sí que abre los .eml.Bien, el caso es que Google no facilita desde la interfaz Web de GMail que guardemos a disco los correos electrónicos, ya que... [Más]

Cómo averiguar la versión de Node.js que estás utilizando

Hace unos días se lanzó la nueva y esperadísima versión 4.0.0 de Node.js que ofrece novedades muy interesantes y añade estabilidad a la plataforma.Sobre todo en bibliotecas reutilizables (módulos), en ocasiones puede ser interesante averiguar la versión exacta de Node.js en la que se está ejecutando tu código de modo que puedas hacer uso de algunas características o no en función de la versión actual. Vamos a ver cómo puedes averiguarlo.En primer lugar vamos a ver cómo puedes ver qué versión de Node.js tienes instalada en tu máquina. La forma más sencilla es abrir la línea de comandos y utilizar el propio ejecutable node.exe con el parámetro "-v", así:En esta imagen vemos lo que devuelven la nueva versión 4.0.0 y una más antigua (la 0.12.2 que viene con las herramientas de Apache Cordova de Visual Studio, que es del 31 de marzo ¡muchos cambios desde entonces!Vale, esto está bien pero realmente lo que necesitamos es poder averiguar esta información desde nuestro código, y a ser posible ... [Más]

Precedencia de codificaciones en una página web

En informática existen muchas maneras diferentes de representar texto, de modo que pueda representar diversos conjuntos de caracteres, ideogramas y símbolos.Al principio todo era muy sencillo, pero poco útil. Los estadounidenses desarrollaron la informática y, como no, la hicieron totalmente "anglocéntrica" desarrollando el conjunto de caracteres ASCII (American Standard Code for Information Interchange). ASCII era capaz de representar 128 caracteres diferentes del alfabeto anglosajón. Por lo tanto no había ni tildes, ni "eñes" ni por supuesto caracteres cirílicos, ideogramas japoneses, etc...En la actualidad existen infinidad de maneras de codificar los caracteres para almacenarlos, transmitirlos y mostrarlos en un sistema informático. El más común y utilizado en el mundo es UTF-8 (Unicode transformation Format-8). UTF-8 es capaz de codificar millones de caracteres diferentes y dispone de todos los símbolos usados en lenguajes humanos, además de otro tipo de representaciones (como emo... [Más]

Las 5 cosas más molestas de Windows 10 y cómo solucionarlas

Windows 10 ya está aquí en toda su gloria. En sus primeras 24 horas ya tenía 14 millones de usuarios, y en unos pocos meses estará en un porcentaje muy alto de los ordenadores de todo el mundo. Dado que formo parte del programa de Windows Insiders, he estado probando el nuevo sistema durante unos cuantos meses ya, y el día que estuvo disponible la versión definitiva lo actualicé en todos mis equipos. Inciso: Permitid que me queje un poco. He actualizado todos los equipos a excepción de mi tablet, que es donde más partido seguramente le podría sacar. El motivo es que este dispositivo, como otras muchas tabletas de hace un par de años, tiene un procesador Intel Atom que lleva una tarjeta gráfica integrada de Intel (Intel Media Graphics Accelerator). El caso es que Intel no ha sacado drivers actualizados para Windows 10 (a pesar de ser iguales, en teoría, a los de Windows 8) y no lo puedes instalar. Un fallo imperdonable por parte de Microsoft haberlo permtido ya que deja fuera de la ... [Más]