it-swarm-es.com

¿Cómo usar las cookies de manera segura para autenticar a los usuarios?

En la mayoría de los casos, me gusta usar cookies para recordar a los usuarios que regresan a mis sitios web.

En mis días iniciales/tontos, almacenaba un ID de usuario (entero de incremento automático) en una cookie y, si el usuario regresaba, usaría ese valor de cookie para iniciar sesión automáticamente. Esta fue una mala idea porque alguien podría editar fácilmente la cookie para usar un número entero diferente e iniciar sesión como otra persona.

¿Está bien almacenar un ID de usuario de la misma manera si el ID de usuario es un GUID?

¿Cuáles son las mejores prácticas para almacenar cookies "recordarme"?

7
jessegavin

Debería considerar usar sesiones para manejar este tipo de escenario.

Las sesiones generalmente funcionan generando un GUID único para la autenticación del usuario y guardándolo en una cookie en la máquina local del usuario o pasándolo de una página a otra a través de la URL.

Esta sesión GUID apunta a un archivo o entrada de base de datos en el servidor que luego puede leer y escribir su código fuente, asociando el GUID en la cookie/URL del usuario con el GUID del archivo o entrada de la base de datos que contiene sus datos.

En general, es seguro colocar datos más confidenciales (como el ID de usuario) en las sesiones, ya que el usuario final no puede ver nada excepto el GUID de la sesión.

La mayoría de los idiomas basados ​​en la web tendrán algún tipo de gestión de sesión incorporada.

2
Nat Ryall

Guarda dos cookies:

  • UserId: contiene el ID de usuario
  • Password: contiene el SHA1 de la contraseña del usuario

Muy fácil y seguro. Recuerde el atributo HttpOnly .

1
Thomas Bonini