Uso de SessionStorage para cierta información del usuario

3

Tengo una aplicación que actualmente mantiene algunas propiedades del perfil de un usuario en el almacenamiento de la sesión para que la aplicación la use cuando sea necesario. No mantenemos datos confidenciales como nombre de usuario o contraseña o SSN en el almacenamiento de la sesión, pero sí mantenemos propiedades como la rama del usuario allí. Y la aplicación utiliza la información de la rama para cargar ciertos datos, mientras excluye otros datos. Por ejemplo, si la rama de un usuario es "Nueva York", entonces cargamos datos relevantes a esa rama.

Para aclarar aún más, esta es una aplicación interna, detrás de una VPN, por lo que solo los empleados la usarán. Y les permitimos cambiar temporalmente su sucursal en la aplicación misma si, por ejemplo, están en la sucursal de Nueva York pero quieren ver datos de Los Ángeles.

¿El uso de almacenamiento de sesión como este se considera una práctica razonable, o algo como esto debe almacenarse siempre en algo como el almacenamiento de JavaScript? Tengo un colega que parece pensar que esto definitivamente no debería estar en el almacenamiento de sesión, pero no estoy seguro de que ese sea el caso aquí. ¿Se considera esto un importante no-no en este tipo de caso de uso? ¿O podría considerarse un uso razonable del almacenamiento de sesión?

    
pregunta Muirik 12.11.2018 - 14:09
fuente

2 respuestas

0

Probablemente la mayor preocupación que tendría con esto es la escalabilidad. Es poco probable que el idioma del servidor web que está utilizando almacene las variables de sesión en cualquier tipo de base de datos optimizada. Entonces, si solo está planeando almacenar unas pocas variables cortas para unas pocas sesiones concurrentes, diría que esta es una excelente manera de hacerlo (lo he usado en algunas de mis aplicaciones). En lo que respecta a la seguridad, siempre se prefiere almacenar variables en el lado del servidor en lugar del lado del cliente.

    
respondido por el MikeSchem 13.11.2018 - 10:04
fuente
0

En mi opinión, la seguridad no es una preocupación.

Los datos almacenados allí no son confidenciales y entiendo que si se modifica, no permite que el usuario acceda a datos restringidos y puede hacer el cambio en la aplicación. Si la aplicación comprueba ese valor del lado del servidor, no hay ningún problema de seguridad. Dicho esto, la idea principal detrás de la seguridad de sessionStorage es que debe tratarse como no confiable . Esto significa validarlo, codificarlo, evadirlo antes de usarlo y no usarlo para datos confidenciales.

    
respondido por el Elzo Valugi 13.11.2018 - 10:23
fuente

Lea otras preguntas en las etiquetas