¿El token de sesión no se cambia al iniciar sesión?

2

He iniciado sesión en mi aplicación y recibí un token de sesión. Cuando navego a otra pestaña, la aplicación pertenece al mismo token de sesión.

¿Es normal que el token de sesión no cambie cuando navegas a otra página después de iniciar sesión?

    
pregunta lakshmi Prudhvi 02.07.2013 - 07:26
fuente

4 respuestas

3

Regenerar la ID de sesión es uno de los muchos puntos que hacen que su aplicación sea más segura. Tiene sentido cuando el usuario aumenta sus privilegios (inicio de sesión), para evitar ataques de fijación de sesión.

Hay otras posibilidades para lograr el mismo objetivo, por lo que no se puede decir solo con la id de sesión sin cambios, que la aplicación no es segura. Otra forma de dificultar la reparación de la sesión es utilizar una cookie de autenticación separada, por ejemplo.

    
respondido por el martinstoeckli 02.07.2013 - 09:18
fuente
3

Se supone que la noción de sesión debe seguir al usuario, o, más precisamente, al navegador del usuario en una máquina determinada. No se supone que sea específico de una pestaña o windows , porque las pestañas y las ventanas (en la arquitectura web habitual) son un concepto local que el usuario abre y cierra en su discreción. Por definición, la sesión también abarca varias páginas sucesivas.

Para implementar la noción de sesión, muchos sitios ingresan en el navegador (como un campo de formulario oculto, una cookie, reescritura de URL o alguna otra técnica) un token de sesión que no cambia de una página a otra (porque no tiene necesidad de cambiar). Esto es normal. Uno puede imaginar un sistema de administración de sesión donde se almacenan los morfos del lado del cliente de una página a otra, pero eso sería más complejo, sin una ventaja clara sobre un token de sesión simple e inalterable.

    
respondido por el Thomas Pornin 02.07.2013 - 13:29
fuente
2

Debe volver a generar el token cada vez que un usuario inicie sesión correctamente. La sesión le permite al servidor asignar un usuario a un estado determinado (la sesión). Lo que necesitas para asegurarte es que:

  • el token de sesión cambia si se genera un token de sesión antes de iniciar sesión
  • el token de la sesión es un número completamente aleatorio (realmente aleatorio, no un algoritmo que usted mismo desarrolló, derivado de un nombre de usuario, contraseña o intervalo de tiempo)
respondido por el Lucas Kauffman 02.07.2013 - 13:02
fuente
2

El punto central de la ID de sesión es que permanece constante a lo largo de la sesión y crea una conexión unívoca entre el navegador del cliente conectado y el servidor. No es necesario seguir cambiándolo cada vez que el usuario abre una nueva ventana.

Sin embargo, cámbielo durante el inicio / cierre de sesión.

    
respondido por el Manishearth 02.07.2013 - 07:37
fuente

Lea otras preguntas en las etiquetas