. It is necessary to have the session invalidated so after logging out no protected resources can be accessed. But why should I want to change the session id? Defense in depth?
L'ID sessione stesso può essere visualizzato come una porzione di informazione privata associata alla sessione utente autenticata. La cancellazione di questo ID dal lato client garantisce che questo valore privato non sia più disponibile.
Sì, si tratta di una sorta di difesa approfondita, in quanto sarà possibile verificare dal lato client che la sessione è cambiata, il che implicherebbe che il server non sappia nulla di più sulla sessione corrente (cioè non legata a nessuna account utente o detiene dati privati, ecc.). Se stavi esaminando un'applicazione contro lo standard ASVS e hai notato che l'ID sessione era cambiato al logout, puoi essere certo che tutti i dati della sessione sono stati cancellati e non sono più disponibili dal client. Sì, tecnicamente è possibile codificare un sistema per migrare qualsiasi dato di sessione nella nuova sessione, ma poiché non esiste un vero motivo per farlo, è una buona misura della qualità della gestione della sessione dell'applicazione.
Inoltre, l'invio del vecchio ID può essere eseguito come parte del test per garantire che non venga più riconosciuto come sessione autorizzata.