Aquí está mi estructura de tabla:
// users
+----+--------+------------------------+------------------+-------------------------------+
| id | name | email | cookie | /* some other columns */ |
+----+--------+------------------------+------------------+-------------------------------|
| 1 | Jack | [email protected] | ojer0f934mf2... | |
| 2 | Peter | [email protected] | ko4398f43043... | |
| 3 | John | [email protected] | 0243hfd348i4... | |
+----+--------+------------------------+------------------+-------------------------------+
La columna cookie
contiene una cadena (la cookie que mantiene al usuario conectado) que también se establece en los dispositivos del usuario. Como puede ver, solo tengo una cadena una (como cookie) para cada usuario. Así que todos los dispositivos de los usuarios tienen una cookie idéntica.
La mayoría de los programadores profesionales me dicen:
Sería más seguro si cada dispositivo tuviera su propia cookie (la cookie de cada dispositivo debería ser diferente de la cookie de otros dispositivos, no una cookie constante para todos los dispositivos)
Bueno, ¿por qué? ¿Qué tiene de malo tener una cookie idéntica para todos los dispositivos? Además, como ve, solo tengo un registro para la cookie en la base de datos. Entonces, si actualizo ese registro para un nuevo dispositivo, se desconectará el (los) dispositivo (s) anterior (es).
EDITAR: Imagina el siguiente escenario (basado en diferentes cookies para diferentes dispositivos):
Alice inicia sesión en mi sitio en su computadora en casa y permanece conectada. Más tarde, también inicia sesión en una computadora en la escuela y no cierra sesión cuando termina, pero se olvida de cerrar sesión. Ella se va a casa y quiere cerrar sesión de su cuenta en la escuela. ¿Cómo puede ella hacer eso?