La variabile $_SESSION
in PHP è un blocco temporaneo di memoria assegnato separatamente a ciascun utente specifico. Il suo scopo non è quello di essere sicuro, è pensato per memorizzare le informazioni di sessione.
Se stai pensando di usarlo per archiviare dati di lunga durata, o dati che devono essere conformi alla triade della CIA, ti suggerisco di esaminare qualcos'altro. Ci sono variabili nella configurazione di PHP relative alla garbage collection che possono influenzare il ciclo di vita dei dati della sessione, ma, soprattutto, tutti i dati della sessione sono memorizzati nella cartella / tmp (se non diversamente configurato), quindi se un utente malintenzionato accede al file sistema saranno in grado di recuperare tutto il contenuto dalla variabile $_SESSION
di ogni utente.
Puoi prendere in considerazione, invece, la memorizzazione di una versione crittografata di tutto ciò che è sensibile, come spiegato qui
Un'altra cosa da considerare è l'override del modo predefinito di gestire $_SESSION
, in PHP puoi definire il tuo funzioni di gestione delle sessioni . Con questo è possibile memorizzare le sessioni in un database remoto, ad esempio, aggiungendo un ulteriore livello di sicurezza. Naturalmente se il tuo file system è compromesso, anche le credenziali di accesso a quel database saranno probabilmente compromesse, ma almeno è un ulteriore livello di sicurezza.