Curso sobre seguridad de las aplicaciones web

La Universidad Politécnica de Valencia organiza el curso La seguridad en el desarrollo de sitios web, que tiene una duración de 30 horas con el siguiente contenido:

1.- Introducción. 0,5 horas
2.- La OWASP (Open Web Application Security Project) 1 hora
3.- Herramientas para el análisis de sitios Web. 1 hora
4.- Las 10 vulnerabilidades más frecuentes. 0,5 horas
5.- Inyección (SQL, LDAP,…) 3 horas
6.- Cross Site Scripting (XSS) 3 horas
7.- Autenticación y gestión de sesiones. 3 horas
8.- Referencias no seguras. 3 horas
9.- Cross Site Request Forgery (CSRF). 3 horas
10.- Mala configuración de seguridad. 3 horas
11.- Restricciones de acceso a las URL. 3 horas
12.- Redlrecciones no validadas. 3 horas
13.- Almacenamiento criptográfico no seguro. 3 horas
14.- Protección de la capa de transporte. 3 horas

Cómo crear una página web para iPad

La página web 10 recomendaciones para diseñar una web para un iPad ofrece 10 consejos para crear páginas web que sean usables desde el iPad.

En realidad, estos consejos son útiles para cualquiera de las tabletas que ya existen en el mercado o que van a salir. Y también son útiles para los teléfonos móviles, ya que la convergencia entre unos y otros es cada mejor.

Además, en general, estos consejos lo que hacen es que las páginas sean más accesibles, que se puedan usar desde cualquier dispositivo o por cualquier usuario.

Los consejos son:

  1. Podemos hacer un mayor uso del scroll
  2. Mayor separación entre enlaces
  3. Resolución de las fotografías
  4. Espacio para “scrollear”
  5. Uso del flash
  6. Qué queda por encima y qué queda por debajo del scroll
  7. Desplegables, radio button, check boxes…
  8. Inserción de dato
  9. Uso de nuevos estándares para los dispositivos táctiles
  10. Testea tu página con tus usuarios reales

Consejos para mejorar el rendimiento de una página web: el cliente

La mejora del rendimiento de una página web es un elemento clave en el desarrollo de un sitio web, pero muchas veces se descuida. Cuando un sitio web soporta una gran carga de peticiones y se “hunde” su tiempo de respuesta, optimizar las páginas web puede ser la única solución ya que puede ser difícil o imposible optimizar el servidor web (está perfectamente configurado y no hay dinero para comprar otro).

Mejorar el rendimiento de una página web es muy importante porque influye en la experiencia de usuario y puede ser la clave para que un usuario retorne a nuestro sitio web o no vuelva nunca más.

En Internet podemos encontrar numerosos artículos sobre cómo mejorar el rendimiento de una página web. Los siguientes artículos se refieren a optimizan en el lado del cliente, aunque también hay algunos consejos que se tienen que aplicar en el lado del servidor:

Yahoo! Best Practices for Speeding Up Your Web Site

35 consejos (best practices) ordenados en 7 categorías (contenido, servidor, cookie, CSS, JavaScript, imágenes y móvil). Algunos ejemplos de los consejos:

  • Minimiza las peticiones HTTP: cuantos menos ficheros, menos peticiones al servidor, mucho mejor. Por ejemplo, combina los CSS y los scripts en uno solo.
  • Coloca CSS y JavaScript en ficheros externos: cuando un CSS o un código en JavaScript sea empleado en muchas páginas, colócalo en ficheros externos. De este modo, el navegador los podrá guardar en la caché y se reducirá la descarga de infomación.
  • Utiliza GET en las peticiones AJAX: si se usa POST, se envía dos paquetes TCP. Con GET se puede reducir, pero recuerda que las URL tienen un tamaño limitado (sobre 2 Kb).

14 Rules for Faster-Loading Web Sites

Orece los siguientes 14 consejos, algunos muy parecidos a los de Yahoo! (o quizás fue al revés):

  • Rule 1 – Make Fewer HTTP Requests
  • Rule 2 – Use a Content Delivery Network
  • Rule 3 – Add an Expires Header
  • Rule 4 – Gzip Components
  • Rule 5 – Put Stylesheets at the Top
  • Rule 6 – Put Scripts at the Bottom
  • Rule 7 – Avoid CSS Expressions
  • Rule 8 – Make JavaScript and CSS External
  • Rule 9 – Reduce DNS Lookups
  • Rule 10 – Minify JavaScript
  • Rule 11 – Avoid Redirects
  • Rule 12 – Remove Duplicate Scripts
  • Rule 13 – Configure ETags
  • Rule 14 – Make AJAX Cacheable

Estos consejos están escritos por Steve Souders, autor de dos libros sobre este tema: High Performance Web Sites y Even Faster Web Sites.

Exploremos la Web de forma más rápida

Consejos, ejemplos y artículos de Google. También podemos encontrar artículos destinados a dispositivos móviles, como Make the mobile web faster.

Yahoo! YSlow

Yahoo! YSlow es un plug-in para el navegador Firefox que analiza el rendimiento de una página web y ofrece consejos para mejorar su rendimiento. En concreto, en la página web de Yahoo! podemos leer:

YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. YSlow is a Firefox add-on integrated with the Firebug web development tool. YSlow grades web page based on one of three predefined ruleset or a user-defined ruleset. It offers suggestions for improving the page’s performance, summarizes the page’s components, displays statistics about the page, and provides tools for performance analysis, including Smush.it™ and JSLint.

HTML5Rocks

HTML5Rocks es un sitio web desarrollado por Google para promover el empleo del nuevo lenguaje HTML5. Por ahora, HTML5 no es una recomendación del W3C, es decir, su especificación no está completada, pero se espera que sea una recomendación en 2011.

En HTML5Rocks podemos encontrar información muy interesante:

  • HTML5 – Web Development to the next level: una presentación en la que se explican las nuevas características de HTML5 y de otras tecnologías adicionales.
  • Code Playground: ofrece numerosos ejemplos de las nuevas características y además incluye un editor que permite “jugar” con el código.
  • Samples Studio: 9 ejemplos completos de diversas aplicaciones que emplean las nuevas características y que podemos copiar y usar en nuestros sitios web.
  • Step by Step – Tutorials: tutoriales sobre HTML, vídeo, geolocalización, etc.

¿Qué ofrece HTML 5?

HTML 5, la próxima versión del lenguaje de marcado HTML va a ser toda una revolución. Por ahora sigue siendo un borrador (el último documento disponible es del 24 de junio de 2010) pero se espera que en 2011 esté terminada la especificación.

A día de hoy, ya son varios los navegadores que incorporan parte de la especificación actual de HTML 5. El sitio web HTML5 & CSS3 Readiness ofrece información de qué implementa cada navegador.

Pero, ¿qué ofrece HTML 5? La principal ventaja es que pretende eliminar (o por lo menos, reducir) el empleo de otras tecnologías que se emplean en las páginas web mediante plug-ins y add-ons como Adobe Flash, Microsoft Silverlight, Oracle Java, etc. Para lograrlo, HTML 5 incorpora una gran cantidad de nuevas características que prometen revolucionar el desarrollo de las páginas web.

Brad Neuberg, programador de Google, publicó el año pasado un interesante vídeo donde explica y muestra algunos ejemplos de las nuevas funciones de HTML 5.

Introduction to HTML 5 from Brad Neuberg on Vimeo.

En el vídeo nos explican que las principales características que incorpora HTML 5 son: canvas/SVG, video, geolocalización, caché de aplicaciones, uso de bases de datos en el propio navegador y “web workers”.

Las transparencias están disponibles en Introduction to HTML 5.

El nuevo Internet Explorer 9 está cerca

Ayer y hoy han salido en los periódicos digitales varias noticias sobre el nuevo Internet Explorer 9 que están preparando en Microsoft:

Según estas noticias, Internet Explorer 9 estará disponible antes de 2011.