La Evolucion de la Seguridad de Paginas Web y Aplicaciones Moviles

0
9

Las SPAs o aplicaciones de una sola página son la evolución más reciente de las aplicaciones web dinámicas. En una aplicación web tradicional, el navegador simplemente muestra información en la pantalla y permite a los usuarios llenar los formularios y hacer clic en los botones. Según mis amigos especialistas en seguridad, Diseño y Programacion de Barcelona, España Metacom BCN: Expertos en Webs y Apps Cada vez que se necesitaba un cambio en la pantalla (para actualizar información en una pantalla, e ir a una página diferente o mostrar nuevas imágenes, por ejemplo), el navegador necesitaba llamar al servidor para solicitar una página HTML completamente nueva que el servidor dinámicamente procesaba y enviaba de nuevo al navegador del cliente.

El siguiente paso en la evolución de la aplicación web fue el uso de HTML dinámico o DHTML, así como JavaScript, ambos de los cuales se ejecutó en el lado del cliente en el navegador. Esto permitió al navegador manejar el procesamiento de ciertas tareas menores sin requerir llamadas al servidor. La validación de las entradas de usuario en los campos de formulario, la manipulación de la imagen ligera o «voltear» en la página y el cambio de texto / colores de fondo durante los eventos de mouse over eran casos de uso típicos, pero todo el trabajo pesado requería llamadas al servidor y la recuperación de una Completamente nueva página HTML que añadió latencia.

Aplicaciones de una sola página (SPAs) son la última evolución en el diseño de aplicaciones web. Con SPAs, varias bibliotecas de JavaScript y herramientas como JQuery, Angular y AJAX permiten a los desarrolladores crear aplicaciones web que rara vez llaman al servidor para buscar una página HTML completamente nueva. En su lugar, la única página HTML se divide en secciones y el código JavaScript que se ejecuta en el navegador web llama a varias API en un servidor que devuelve datos. Las bibliotecas JavaScript toman estos datos y actualizan el HTML en la página de acuerdo con la lógica de presentación que el desarrollador codifica en la aplicación. Las aplicaciones de una sola página eliminan la capa de presentación del lado del servidor y la colocan en el lado del cliente, en el navegador. Esto reduce la latencia, mejora la experiencia del usuario, reduce la carga del servidor y permite que una organización cambie hacia el enfoque en API que tienen la ventaja importante de reutilización en una variedad de aplicaciones como aplicaciones móviles y sistemas de socios empresariales , en mi caso particular recomiendo mucho este artículo sobre seguridad en páginas web.

Consideraciones de seguridad con aplicaciones de una sola página

En las aplicaciones web tradicionales, la autenticación y la gestión de acceso era sencillo. Cuando un usuario inicia sesión en una aplicación web, el servidor web al que se conectan genera y emite un token de sesión en forma de cookie que se envía automáticamente al servidor web en el encabezado HTTP en cada solicitud posterior que el navegador hace el servidor. El ID de sesión suele ser un número u otra cadena sin sentido que sirve como un puntero a la sesión del usuario en el servidor. Cada vez que el servidor recibe una solicitud, comprueba la validez de la sesión. Esto es fácil para el servidor de hacer porque el propio servidor emitió la sesión y devuelve las páginas web, sin embargo, como el tráfico de Internet aumentó y los servidores tenían que ser agrupados para soportar la carga, un usuario determinado puede ser dirigido a un servidor web diferente. Dentro del clúster y este servidor no tendría ningún conocimiento de la sesión del usuario. Había varias maneras comunes alrededor de esta edición. El primero era configurar «bit pegajoso» en un enrutador que garantizaría que todas las peticiones de un usuario dado dentro de un marco de tiempo dado se enrutarían al mismo servidor. El segundo era aprovechar las propiedades avanzadas de clústeres de su clúster de servidores web para compartir cachés de sesión (si se admite). El tercero era aprovechar un sistema de gestión de sesión externo a los servidores web que todos compartían.