¿Puedo usar un único ID de sesión permanente para todos los dispositivos de un usuario?

0

Estoy trabajando en un proyecto donde los usuarios pueden publicar. Cuando un usuario inicia sesión y la contraseña es correcta, los inicia y comprueba la base de datos. Si tienen un ID de sesión, lo devuelve, si no, crea un nuevo ID de sesión y lo devuelve. Si vuelven a iniciar sesión en otro lugar, como su teléfono, hace lo mismo; si existe un ID de sesión, devuelve la sesión.

Mi pregunta es, ¿es esto seguro? ¿Debería cada dispositivo con el que iniciar sesión tener un ID de sesión separado? La única vez que borro el ID de sesión es cuando se cambia la contraseña.

    
pregunta Dan 25.04.2018 - 02:27
fuente

1 respuesta

2

TL; DR: No, no es seguro.

Es importante tener una ID separada para cada dispositivo, porque si les das la misma, no hay nada que impida que el dispositivo la recuerde después de que el usuario cierre la sesión.

Y lo que es más importante, solo cambiar el ID de sesión cuando los usuarios cambian la contraseña es catastróficamente malo. La identificación puede ser robada mucho más fácilmente que una contraseña. Las sesiones deben expirar; de lo contrario, se debe tener una consideración especial, por ejemplo, permitiendo a los usuarios cerrar sesión desde dispositivos a los que ya no tienen acceso.

PS: También asumo que tus ID de sesión son aleatorias. Si son secuenciales, también necesita algún tipo de token / secreto para autenticarse, de lo contrario, un atacante puede pasar por todos los identificadores y obtener datos. Tenga en cuenta que el uso de ID aleatorias puede ser preferible, ya que los atacantes aún pueden obtener cierta información, como el número de usuarios registrados, si las ID no son aleatorias. También puede usar el secreto además de la identificación aleatoria, no puede hacer daño y puede ayudar, ¿por qué no?

    
respondido por el Peter Harmann 25.04.2018 - 02:55
fuente

Lea otras preguntas en las etiquetas