Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: vita di una sessione

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63

    vita di una sessione

    Esiste una funzione per impostare il tempo di vita di una sessione?

  2. #2

    Re: vita di una sessione

    Originariamente inviato da luca__82
    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.

    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.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    impostando ini_set('session.gc_maxlifetime' , 30) la sessione dovrebbe rimanere in vita per 30 secondi o sbaglio?

  4. #4
    Originariamente inviato da luca__82
    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'

    va messo ad ogni pagina e prima del session_start() dopo serve a nulla.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    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) ?

  6. #6
    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) ?
    quando si dice che le vite della sessione sono due ... sono due.

    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.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    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.

  8. #8
    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.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    63
    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()???

  10. #10
    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()???
    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.

    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.

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.