Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Sessioni: chiarimenti sulla scadenza

    Premesso che so che l'argomento delle sessioni è trito e ritrito sono "costretto" a chiedere ulteriori chiarimenti perchè sia leggendo i vari forum, sia facendo dei test non sono riuscito a chiarirmi alcuni dubbi.

    In particolare ho notato che pur settando il maxlifetime questo non funziona:

    Codice PHP:
    ini_set('session.gc_maxlifetime'3);
    session_start();   

    echo 
    ini_get('session.gc_maxlifetime');

    if(isset(
    $_SESSION['timeout'])) echo "settata"; else echo "terminata";

    $_SESSION['timeout'] = "1"
    maxlifetime viene correttamente impostato a 3 secondi da come si visualizza con ini_get.
    A questo punto mi aspetto che dopo 3 secondi, al refresh della pagina, la sessione sia scaduta, invece così non è.

    Inoltre ho provato ad impostarla a 28800 (= 8 ore) per fare in modo che ad un utente non scada la sessione nemmeno se non effettua operazioni, ma di fatto dopo x tempo mi ritrovo con la sessione scaduta.

    Alcuni nei forum sostengono poi che session_start() non riazzeri il tempo di sessione ma solo inizializzando un ulteriore variabile viene azzerato.

    Dopo queste considerazioni chiedo:

    1) Esiste un modo concreto e funzionante per settare il tempo di scadenza ed evitare che la sessione scada anche in caso di inattività?
    2) Esiste un modo per visualizzare il tempo che manca alla scadenza della sessione?
    3) Al momento utilizzo il sistema classico delle sessioni associato ad una salvataggio nel database dell'id_utente e dataora di ingresso, in modo da visualizzare chi è online (con uno scarto minimo) facendo il refresh della dataora ad ogni cambio pagina; ho letto che c'è la possibilità di utilizzare session_set_save_handler() per modificare il comportamento del salvataggio delle sessioni. Qualcuno utilizza questo metodo? Ho la possibilità di gestire meglio le sessioni? (ad esempio pensavo che potrei, anzichè verificare se la sessione è viva, verificare sul db il tempo passato)

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ho trovato questo articolo:

    http://www.timendum.net/blog/201/pro...me-e-lifetime/

    che sembra confermare il fatto che:

    1- è necessario modificare una variabile fittizza per far ripartire il tempo di sessione
    2- che è necessario impostare anche il session.cookie_lifetime ad un valore uguale o superiore rispetto al session.gc_maxlifetime

    Qualcuno può confermare questo comportamento?

    Inoltre il safe_mode attivo o meno cambia qualcosa in merito?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.