Questa è una domanda abbastanza ampia in quanto ciò potrebbe essere (ed è stato) implementato in un gran numero di modi diversi. In genere comportano la memorizzazione di un cookie persistente nel browser, e qui ce ne sono alcuni. Il cookie potrebbe contenere:
- Un token di autenticazione. (Come descritto da Tokk nella sua risposta.) Con lo stato sul server (nel database, ad esempio) quando un utente ritorna, è possibile collegare nuovamente il token di autenticazione al proprio account utente.
- Un identificativo utente. Questo è un modello stateless che non richiede di tenere un record della sessione sul server. Finché l'utente continua a visitare con cookie contenenti un identificativo utente valido, vengono autenticati e non conta più se ci sono 10 secondi tra le richieste di pagina o 10 giorni.
- Credenziali. Questo è un modello statico / stateless ibrido che non è necessario mantenere un record della sessione, ma c'è un diverso tra un utente autenticato (che ha un cookie di sessione) e un utente memorizzato (che ha il cookie con le credenziali , ma non ancora cookie di sessione.) Questo può essere un enorme buco di sicurezza se le credenziali sono memorizzate nel cookie in chiaro, e sì, alcuni siti lo fanno (o lo hanno) fatto. Con una corretta crittografia, beh, non lo sceglierei, ma in questo caso non è un grosso rischio per la sicurezza. (C'è un po 'di rischio aggiunto nel fatto che l'applicazione sta facendo inutili elaborazioni extra delle credenziali, ma è un rischio relativamente basso.)
Quale è il grande rischio per la sicurezza in una funzione "Ricordami"? In primo luogo, si sta dando all'utente un cookie valido fino a un certo punto nel futuro, e la finestra per l'abuso se quel cookie viene sottratto in modo inappropriato è ora molto più grande. Quindi, con questo in mente, bisogna fare attenzione a proteggere questo cookie. Ad esempio, HTTPS deve essere utilizzato come prima linea di difesa e il cookie deve essere contrassegnato come secure
. È utile se si dispone di un modello stateful per consentire all'utente di terminare forzatamente sessioni valide quando non ne hanno più bisogno, per limitare potenziali abusi.
Quindi tl; dr è: le tue credenziali possono o non possono essere memorizzate in un cookie. Se sono, e non sono correttamente crittografati, questo è un rischio significativo. Questo probabilmente non è il modo in cui una funzione "ricordami" è implementata su un determinato sito Web, ma in caso di dubbio, controlla i cookie e guarda.