2012-01-04 13 views
18

Ho l'ID di sessione della mia domanda. ora voglio ottenere tutte le variabili di sessione usando questo id di sessione.come ottenere le variabili di sessione usando l'ID di sessione

Ho utilizzato <?php echo session_id()?> per ottenere l'ID di sessione ma come ottenere tutti i valori degli oggetti di sessione utilizzando questo ID di sessione?

+1

Solo una risposta dice come ottenere i dati della sessione usando session_id. –

risposta

51

Secondo php.net: Esistono diversi modi per divulgare un ID sessione esistente a terze parti. Un ID di sessione trapelato consente alla terza parte di accedere a tutte le risorse associate a un ID specifico. Innanzitutto, gli URL che trasportano gli ID di sessione. Se si collega a un sito esterno, l'URL che include l'id di sessione potrebbe essere memorizzato nei log dei referrer del sito esterno. In secondo luogo, un aggressore più attivo potrebbe ascoltare il traffico di rete. Se non è crittografato, gli ID di sessione scorreranno in testo normale sulla rete. La soluzione qui è implementare SSL sul tuo server e renderlo obbligatorio per gli utenti.

Questo fa sorgere la domanda, come si dispone dell'ID di sessione ma non è possibile accedere allo script?

Indipendentemente da ciò, è necessario impostare l'ID sessione e quindi avviarlo ... quindi accedere ai dati.

session_id($whatever_id_you_have); 
session_start(); 
echo $_SESSION['somekey']; 
+6

+1 Solo questa risposta dice come ottenere i dati di sessione usando session_id. –

+1

Quando session.use_strict_mode è impostato su 1 o true, non è possibile utilizzare session_id ($ sid) per impostare l'id di sessione per la sessione corrente. http://php.net/manual/en/function.session-id.php –

2

var_dump($_SESSION); mostrerà il contenuto della sessione corrente, è quindi possibile accedere ai valori proprio come si farebbe su un array normale.

+0

ma ora non riesco a modificare lo script e ho solo l'ID di sessione. quindi come ottenere la sessione varialbes –

1

È possibile controllare ogni valore sessione utilizzando questo ..

print_r($_SESSION); 
Problemi correlati