Ecco la mia struttura di tabella:
// users
+----+--------+------------------------+------------------+-------------------------------+
| id | name | email | cookie | /* some other columns */ |
+----+--------+------------------------+------------------+-------------------------------|
| 1 | Jack | [email protected] | ojer0f934mf2... | |
| 2 | Peter | [email protected] | ko4398f43043... | |
| 3 | John | [email protected] | 0243hfd348i4... | |
+----+--------+------------------------+------------------+-------------------------------+
La colonna cookie
contiene una stringa (il cookie che mantiene l'utente connesso) che è anche impostata nei dispositivi dell'utente. Come vedi, ho appena una stringa (come il cookie) per ogni utente. Quindi tutti i dispositivi dell'utente hanno un cookie identico.
La maggior parte dei programmatori professionisti mi dice:
It would be safer if each device had its own cookie (the cookie of each device should be different than the cookie of other devices, not a constant cookie for all devices)
Bene, perché? Cosa c'è di sbagliato nell'avere un cookie identico per tutti i dispositivi? Inoltre, come vedi, ho un solo record per il cookie nel database. Quindi, se aggiorno quel record per un nuovo dispositivo, i dispositivi precedenti verranno disconnessi.
EDIT: immagina il seguente scenario (basato su cookie diversi per dispositivi diversi):
Alice accede al mio sito sul suo computer a casa e rimane connesso. Successivamente accede anche a un computer a scuola, e non si disconnette quando ha finito, ma si dimentica di uscire. Torna a casa e vuole uscire dal suo account a scuola. Come può farlo?