No. In genere, i dati di sessione vengono archiviati solo sul lato server e non devono essere letti da un utente malintenzionato.
Tuttavia, configurazioni errate o vulnerabilità nel codice possono portare alla divulgazione del contenuto della sessione. Leggere il contenuto della sessione non è probabilmente il problema più grave in questi casi però.
Lettura dei dati della sessione da un file
I dati della sessione sono memorizzati nel file system del server (la posizione è determinata da session.save_path
). Quindi chiunque possa leggere i file dalla directory della sessione può leggere il contenuto della sessione. Questo può accadere se:
- hai una vulnerabilità di attraversamento di directory che consente la lettura dei file.
- su host condivisi mal configurati, la directory temporanea che memorizza le sessioni potrebbe essere accessibile da altri.
- hai mal interpretato erroneamente il tuo server e
session.save_path
è accessibile pubblicamente
- ...
Lettura dei dati della sessione da $ _SESSION
Se un utente malintenzionato può leggere variabili, può anche leggere la sua variabile globale $ _SESSION.
Questo si verifica principalmente quando si ha una vulnerabilità legata all'esecuzione del codice, quindi ci sono altre cose di cui preoccuparsi.
Ma si potrebbe immaginare un codice che permetta di leggere le variabili, un semplice esempio potrebbe essere print_r($$_GET['x']);
.