Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Ripristinare le Sessioni

    Salve a tutti,
    Il mio problema è questo, sul mio sito permetto la navigazione solo a effettua un login e per memorizzare i dati utilizzo le sessioni.

    Funzionava tutto tranquillamente, quando improvvisamente i gestori del server che ospita il mio sito, decidono che il tempo massimo di una sessione è 4 ore, dopo di che la sessione viene cancellata, tutto questo nonostante la continua navigazione da parte dell'utente.

    Ora cercando di risolvere tale problema mi sono posto 3 domande:

    1- Esiste qualche sistema per ripristinare una sessione, o comunque recuperare almeno una delle informazioni che conteneva?

    2- Esiste un qualche modo per prolungarne la vita? Non so modificandone la data di creazione?

    3- Se io in una pagina php scrivo il seguente codice, riesco a salvare tutti i dati della sessione copiandoli in una nuova?
    Codice PHP:
    <?
     session_start
    ();

     
    $temp=$_SESSION;

     
    session_destroy();

     
    session_start();

     
    $_SESSION=$temp;
    ?>
    Grazie a tutti per l'attenzione

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969

    Re: Ripristinare le Sessioni

    1- Esiste qualche sistema per ripristinare una sessione, o comunque recuperare almeno una delle informazioni che conteneva?

    Probabilmente solo mandando le variabili via GET o POST.

    2- Esiste un qualche modo per prolungarne la vita? Non so modificandone la data di creazione?

    Si.
    Nel php.ini la variabile è session.gc_maxlifetime e di default è 1440 secondi.
    La puoi modificare per ogni singolo script essendo una varibile di tipo PHP_INI_ALL. Metti all'inizio dello script:
    ini_set('session.gc_maxlifetime',123456)
    dove 123456 sono i secondi che vuoi.


    3- Se io in una pagina php scrivo il seguente codice, riesco a salvare tutti i dati della sessione copiandoli in una nuova?
    [php]
    <?
    session_start();

    $temp=$_SESSION;

    session_destroy();

    session_start();

    $_SESSION=$temp;
    ?>

    Non ha senso, infatti la durata non cambia. Inizia quando lo script viene eseguito.

  4. #4
    1-

    2- Ehm non sono molto esperto, ma session.gc_maxlifetime non serviva per indicare il tempo massimo di inattività da parte dell'utente?
    Le mie sessioni ora come ora si cancellano dopo 4 ore, anche se l'utente continua a visitare pagine.

    3-Stesso discorso di prima, a me non interessa il tempo del singolo script, bensì modificare il tempo di creazione della sessione..
    In pratica visto che ogni 4 ore la sessione mi viene cancellata sempre e comunque, indipendentemente da quello che fa l'utente, mi chiedevo se eseguendo quel codice riuscivo a renderla più longeva creandomi una nuova sessione

    Ora sto facendo una prova pratica, solo che dopo ogni mia modifica devo aspettare almeno 4 ore per sapere se ha funzionato

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Quindi hanno modificato la variabile session.cookie_lifetime?
    Se si è sempre una variabile PHP_INI_ALL e la puoi modificare.

  6. #6
    Ho provato a guardare i vari settaggi attraverso phpinfo();

    codice:
    session.cache_expire 180
    session.cookie_lifetime 0 
    session.entropy_length 0
    session.gc_divisor 100
    session.gc_maxlifetime 1440
    session.gc_probability 1
    Purtroppo mi sa che utilizzano qualche altro sistema

  7. #7
    Per fortuna l'idea del punto 3 ha funzionato

    Ci son volute circa 6 ore per verificare che tutto funzionasse ma alla fine l'attesa sembra aver dato i suoi frutti..

    Comunque sia, ormai per curiosità, mi piacerebbe sapere la risposta a questa domanda.

    Esiste un qualche modo per modificare la data di creazione di una sessione?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.