Ecco cosa intendo per i due:
Autenticazione sessione : stato memorizzato "stato autenticato" in una variabile di sessione.
Autenticazione cookie : memorizzato "stato autenticato" in un cookie protetto da HMAC.
Domanda : c'è un vantaggio in un modo rispetto all'altro dal punto di vista della sicurezza?
La miglior ragione per la quale mi sembra di trovare l'approccio dei cookie è che il server deve memorizzare meno dati, che non è correlato alla sicurezza.
Note extra
Diciamo che mi dici che usare l'autenticazione dei cookie è meglio ...
Ho visto così tante applicazioni web che usano l'autenticazione dei cookie ma non riescono a collegarlo alla sessione. È un problema perché memorizzano le informazioni dell'utente come il suo accesso alla sessione. Quindi, puoi creare un semplice attacco come login sul tuo account che non ha quasi nessuna autorizzazione, quindi rubare il cookie di sessione da un amministratore e poi impersonarlo.
Con questo intendo dire che, a prescindere dalla forza dello schema basato sui cookie rispetto all'approccio della sessione, lo ha appena perso (a causa della scarsa gestione delle sessioni). In uno scenario come sopra, un approccio basato sui cookie non porta a nulla di saggio.