Esiste una funzione per impostare il tempo di vita di una sessione?
Esiste una funzione per impostare il tempo di vita di una sessione?
la sessione ha due vite: una lato client e l'altra lato server.Originariamente inviato da luca__82
Esiste una funzione per impostare il tempo di vita di una sessione?
hanno entrambe la possibilita' di essere modificate vedi il manuale la voce ini_set ed la relativa appendice in merito alle voci che iniziano con session_*
http://it2.php.net/manual/en/function.ini-set.php
http://it2.php.net/manual/en/ini.list.php
cookie lifetime
http://it2.php.net/manual/en/session...ookie-lifetime
gc_maxlifetime
http://it2.php.net/manual/en/session...gc-maxlifetime
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
impostando ini_set('session.gc_maxlifetime' , 30) la sessione dovrebbe rimanere in vita per 30 secondi o sbaglio?
sei al 50% .... la sintassi e' quella ma invece di un numerico 30 dovresti mettere una stringa '30'Originariamente inviato da luca__82
impostando ini_set('session.gc_maxlifetime' , 30) la sessione dovrebbe rimanere in vita per 30 secondi o sbaglio?
va messo ad ogni pagina e prima del session_start() dopo serve a nulla.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
ok.
Ti confesso che lo mettevo dopo.
Lo metto quindi in ogni pagina in cui richiamo seession_start?
Se la sessione scade il cookie di sessione lato client viene cancellato automaticamente ( è impostato di default, ovvero vive finchè vive la sessione) ?
quando si dice che le vite della sessione sono due ... sono due.Originariamente inviato da luca__82
ok.
Ti confesso che lo mettevo dopo.
Lo metto quindi in ogni pagina in cui richiamo seession_start?
Se la sessione scade il cookie di sessione lato client viene cancellato automaticamente ( è impostato di default, ovvero vive finchè vive la sessione) ?
Se la sessione scade per inattivita' lato server il file non e' piu' valido ma non viene cancellato. Passera' quando passera' il garbage collector. Semplicemente il file viene reso disponibile a questa entita' che ha compiti da basurero.
La sessione lato client e' per default valida fino alla chiusura del browser, senza limiti. Quindi se richiami la pagina con un cookie valido session_start() fa il suo lavoro. cerca un file di sessione con quel nome, lo trova se non e' passato ancora lo spazzino, ma vede che e' scaduto e ti rende un file di sessione vuoto. Lo puoi gestire (vedi come fa phpmyadmin) ed avvisare che a seguito di inattivita' l'utente si deve riautenticare.
Eventuali risposte incongruenti a questo stato potrebbero venire dalla cache del browser che ti potrebbe riproporre pagine obsolete senza essere in realta' aggiornato dal server.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
chiariscimi un pò le idee perfavore.
Io accedo ad un'area riservata tramite login e si avvia una nuova sessione.
Dopo che ho effettuato l'accesso potrò vedere una pagina altrimenti riservata.
Se la vita della sessione è impostata a 30 secondi vuol dire che se io per 30 secondi non navigo in tale sezione riservata la sessione scade e quindi non avrò più il permesso di navigare in tale sezione. O Sbaglio?
Praticamente lo script, che verifica se il cookie lato client ha un file di sessione valido sul server, dovrebbe sbattermi fuori?
Ti chiedo questo questo in quanto ho settato session.gc_maxlifetime a 30 sec, ma se rimango inattivo per 1 minuto per esempio all'interno della zona riservata comunque dopo continuo a navigare al suo interno tranquillamente.
come potrebbe sbatterti fuori da un qualcosa che e' a casa tua? Tu scarichi la pagina e ci stai fino all fine dei secoli anche senza linea internet. Giusto?
Lascia passare il tempo previsto, cancella la cache (non i cookie) e poi fai un refresh. La pagina non dovresti piu' riceverla. Ma per fare le cose per bene non dovresti usare lo stesso pc come client e come server. E uno scenario non presente durante la normale sessione di navigazione e a volte e' facile andare in pallone proprio a causa della cache del browser.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Come tu mi dici funziona.
Mentre se lo scrpt fosse su un server di terze parti funzionerebbe tutto tranquillimante. O no?
Un 'altra cosa visto che ci siamo.
Per settare la vita del cookie la chiamata a funzione ini_set( 'session.cookie_lifetime' , 'sec' ) va effettuata prima di session_start() e per ogni pagina in cui richiamo session_start()???
funziona di certo. Il problema principale usando il pc di sviluppo e' che abitualmente e' anche server http e' che a volte si va in pallone a causa della concomitanza client/server.Originariamente inviato da luca__82
Come tu mi dici funziona.
Mentre se lo scrpt fosse su un server di terze parti funzionerebbe tutto tranquillimante. O no?
Un 'altra cosa visto che ci siamo.
Per settare la vita del cookie la chiamata a funzione ini_set( 'session.cookie_lifetime' , 'sec' ) va effettuata prima di session_start() e per ogni pagina in cui richiamo session_start()???
session_start() inizializza la sessione con quello che trova configurato. Quindi qualsiasi istruzione di configurazione per la sessione va data prima di inizializzarla. Mi pare pure ovvio non cambiare le carte in tavola. Ovviamente per la stessa ragione i comandi di sessione hanno ragione di essere solo dopo che questa sia attivata.
Puoi mettere questi valori personalizzati in un file da includere prima di session_start() oppure nel file .htaccess tanto per non ripetere tutto in ogni pagina sotto sessione.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.