He leído algunas de las excelentes respuestas para almacenar y pasar claves de sesión en una aplicación web de una sola página (es decir, un "sitio" web que se ejecuta principalmente en el lado del cliente, obteniendo datos del servidor mediante una API) ). Pero mi pregunta es sobre asegurar (después de cerrar sesión) los datos que regresan en la respuesta, de los cuales no he visto ninguna mención.
Se puede acceder a estos datos directamente desde casi cualquier navegador moderno haciendo clic en la vista de herramientas de desarrollador (incluso cuando se usa HTTPS). Por lo tanto, puede suceder lo siguiente:
- El usuario autenticado (AU) utiliza la aplicación y descarga información protegida.
- AU se desconecta o se desconecta automáticamente.
- La aplicación vuelve a la página "Iniciar sesión". Parece seguro, por lo que AU no cierra la pestaña / página.
- Sin embargo, el usuario no autenticado (malicioso) (UU) se sienta en el escritorio y abre las herramientas del desarrollador. En la sección Red, la UU puede ver objetos JSON estructurados con mucha información jugosa.
Esto no sucede en una aplicación web más tradicional, porque los datos están incrustados en la página HTML, que desaparece cuando el navegador redirige a la página de inicio de sesión.
Estamos utilizando AngularJS para nuestra aplicación web de una sola página, que recomienda usar una función de cambio de ubicación para cerrar sesión, que, como he confirmado, no realiza una redirección real (por diseño); por lo tanto la página no se actualiza; por lo tanto, las solicitudes de red se pueden encontrar en la sección de desarrolladores.
Parece que el camino a seguir es NO usar el método AngularJS y, en cambio, romper el modelo y usar el redireccionamiento de javascript puro para actualizar el sitio a la página de inicio de sesión. Esto parece borrar las solicitudes de red. ¿Es este el método recomendado?
Me doy cuenta de que tener acceso al navegador significa que la UU puede instalar el registro de teclas, la captura de pantalla y todo tipo de cosas que son incluso peores que este escenario, y no hay nada que podamos hacer al respecto, pero el escenario que describo aquí. es un escenario de oficina muy común donde los usuarios ocasionales pueden sentarse rápidamente en un navegador y espiar algo de información sin realmente hacer mucho trabajo. Dado que estamos tratando con información de salud protegida, sigue siendo una preocupación.