Visualizzazione risultati 1 fino 9 di 9

Discussione: Variabili di sessione

  1. #1
    Guest

    Predefinito Variabili di sessione

    Dopo aver settato ad un valore PIPPO la variaile di sessione $_SESSION['NOME'] in una pagina X.PHP, durante la navigazione la variabile viene persa per gli utenti che si collegano al sito dietro un router, un gateway o un proxy.

    Vorrei sapere in che modo risolvere questo tipo di problema.

    Grazie per l'attenzione.

  2. #2
    Guest

    Predefinito

    Non mi sembra possibile, visto che le sessioni risiedono sul server e non sul client. Molto probabilmente c'è un errore di programmazione nelle pagine.

  3. #3
    Guest

    Predefinito

    Innanzitutto grazie per la risposta.

    Comunque mi sembra di aver formulato male il problema.

    Io ho più o meno la stessa tipologia di rete indicata e controllando il mio IP da siti che forniscono questo servizio ho notato che il mio IP cambia ogni 5-10 minuti assumendo sempre gli stessi due indirizzi in maniera alternata.

    Ora in concomitanza con questo evento anche le mie sessioni cadono e si ripristinano...Mi spiego meglio.

    Accedo ad una pagina con questo IP (di fantasia) 123.123.123.123 dove viene settata la variabile: $_SESSION['nome'] = "PIPPO";

    Dopo 5-10 minuti il mio IP cambia da solo e diventa (di fantasia) 456.456.456.456 e di conseguenza la variabile $_SESSION['nome'] associata al precedente IP risulta vuota per questo indirizzo.

    Dopo 5-10 minuti il mio IP cambia e diventa di nuovo 123.123.123.123 e di conseguenza la variabile $_SESSION['nome'] riassume i valore PIPPO.

    Tengo a far notare che il problema non sta nella programmazione ma nella topologia di rete altrimenti quando il mio IP torna a quello con cui è settata la variabile $_SESSION['nome'] non conterrebbe più il valore PIPPO.

  4. #4
    Guest

    Predefinito

    Innanzitutto grazie per la risposta.

    Comunque mi sembra di aver formulato male il problema.

    Io ho più o meno la stessa tipologia di rete indicata e controllando il mio IP da siti che forniscono questo servizio ho notato che il mio IP cambia ogni 5-10 minuti assumendo sempre gli stessi due indirizzi in maniera alternata.

    Ora in concomitanza con questo evento anche le mie sessioni cadono e si ripristinano...Mi spiego meglio.

    Accedo ad una pagina con questo IP (di fantasia) 123.123.123.123 dove viene settata la variabile: $_SESSION['nome'] = "PIPPO";

    Dopo 5-10 minuti il mio IP cambia da solo e diventa (di fantasia) 456.456.456.456 e di conseguenza la variabile $_SESSION['nome'] associata al precedente IP risulta vuota per questo indirizzo.

    Dopo 5-10 minuti il mio IP cambia e diventa di nuovo 123.123.123.123 e di conseguenza la variabile $_SESSION['nome'] riassume i valore PIPPO.

    Tengo a far notare che il problema non sta nella programmazione ma nella topologia di rete altrimenti quando il mio IP torna a quello con cui è settata la variabile $_SESSION['nome'] non conterrebbe più il valore PIPPO.

  5. #5
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Ma le sessione non dipendono dall'ip;
    perchè i dati di sessioni vengono salvati in un file di testo che risiede sul server.
    Il server e il browser si scambiano solo il SID (Session IDentifier) per riconoscere il client.

  6. #6
    Guest

    Predefinito

    Fantastico pur senza volerlo mi hai risolto la cosa.

    Mi hai dato l'idea per bypassare il problema...proprio come volevo.

    Comunque colgo l'occasione per segnalare lo stesso problema ad AlterVista.

    Immagino che quando un utente effettua il login ad AlterVista venga settata una variabile di sessione del tipo $_SESSION['login_user'].

    Per tutti gli utenti (me incluso) che accedono attraverso un router, un gateway o un proxy (in cui l'indirizzo IP varia) si ritrovano scollegati e ricollegati senza volerlo.

    Ciao.

  7. #7
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    Quello è normale

    Le sessioni hanno un limite di tempo, che di default è 10 minuti, terminato il quale la sessione non è più valida è l'eventuale identificatore, inviato dal browser, viene ignorato

    Detto in soldoni: se passano più di dieci minuti tra due chiamate di session_start() il server web non ti riconosce più

  8. #8
    Guest

    Predefinito

    AlexKidd in generale hai ragione (anche se le sessioni di default hanno una vita di 20 minuti dopo l'INATTIVITA' dell'utente) ma ti ricordo che basta mettere

    ini_set('session.gc_maxlifetime', 60*60);

    e il tempo di vita della sessione può essere prolungato.

    Comunque non hai letto bene il problema posto e mi rendo conto che si tratta i un problema abbastanza avanzato.

    Voglio fari notare (a prescindere dal tempo di vita delle sessioni che può essere gestito) che se entri in un sito nel quale per effetto di alcune operazioni un variabile di sessione viene settata ad un certo valore, scollegandoti dalla rete e ricollegandoti in un tempo minore del ciclo di vita della tua sessione (che quindi non è scaduta) risulterà la variabile di sessione non settata. Questo perchè è cambiato il tuo indirizzo IP (purchè si parli di ip dinamici e non statici).

    Per alcuni utenti che si collegano al sito attraverso un router, un gateway o un proxy la procedura di modifica dell'IP varia da sola senza bisogno di scollegarsi e ricollegarsi ciò provoca l'involontaria caduta della sessione...QUESTO E' UN PROBLEMA SERIO IN CERTI CASI CHE VA EVITATO.

  9. #9
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    Quello è un falso problema

    La sessione di default è solamente legata ad un ID memorizzato in un cookie

    Su AlterVista il tempo è precisamente 1440 sec. è la sessione scade solo per colpa del tempo (e una probabilità che terminati i 1440 secondi la sessione venga invalidata)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •