Sto creando un'applicazione web e voglio consentire agli utenti di accedere (e rimanere connessi). Il mio piano per supportare questo in modo sicuro è il seguente:
- Accesso utente da un modulo di accesso: in caso di esito positivo, il server risponde
con un cookie
secure
eHttpOnly
che contiene semplicemente il loro nome utente. -
Quando l'utente chiude il browser e successivamente torna indietro, viene inoltrata una richiesta (che include il cookie) a un endpoint sul server al caricamento della pagina che chiede al server se l'utente corrente è loggato, che il il server determina in base alla presenza del cookie. In tal caso, il server restituisce il valore del cookie, che il lato client può visualizzare sull'interfaccia utente come nome utente dell'utente.
-
Qualsiasi richiesta che richiede un utente autenticato (come il salvataggio o l'aggiornamento dei dati) lo farà sotto il nome del nome utente specificato nel cookie in ciascuna richiesta.
Una delle domande più importanti che ho - se qualcuno entra nel loro browser e modifica manualmente il cookie username
usando devtools, questo permetterebbe loro di fare richieste sotto le spoglie di un altro utente con il modo in cui ho disposto questo? Oppure HttpOnly
lo impedisce?
Sono sopraffatto da questo? Guadagno qualcosa rendendo questo cookie HttpOnly
, dal momento che essenzialmente sto permettendo al client di leggerlo comunque? Il mio approccio è persino sicuro?