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

    Durata della sessione a browser chiuso

    Giorni fa avevo mandato una domanda e ora mi rispondo da solo :mavieni:

    Domanda 5: Io uso le sessioni...ma è normale che quando mi autentico e poi chiudo il browser e lo riapro...devo rifare il login? Come si può evitare la riautenticazione entro tot minuti? Forse usando i cookies (e nel caso quale è il codice migliore). Ma non esiste un settaggio delle sessioni che fa la stessa cosa? (sapete, non tutti accettano i cookies).

    Risposta 5:

    Soluzione1: Si deve agire sul valore di session.cookie_lifetime del file php.ini.
    Specifica il tempo di vita in secondi del cookie (della sessione) che viene mandato al browser. Il valore 0 significa "fino a che il browser viene chiuso". Di default è 0.
    Modificando questo valore si può agire sulla durata della sessione anche a browser chiuso.

    Soluzione 2: Invece di modificare il php.ini si può agire sul codice. Nella pagina di autenticazione e in tutte quelle in cui si usano le sessioni basta inserire il seguente codice:

    Codice PHP:
    $expireTime 60*5// La sessione dura 5 Minuti
    session_set_cookie_params($expireTime);
    session_start(); // Start Session 
    Che dite sono stato esauriente? Spero vi possa essere utile. Se avete commenti o precisazioni postate pure...sono graditi :adhone:
    Sono secoli che dormo, secoli che non levo il mio possente volo di Drago. Ora voglio l'immensità del cielo ed il sole splendente.
    IO SONO IL DRAGO! Io sono!

    Visitate il mio blog tecnologico:
    http://www.levysoft.it

  2. #2

    Re: Durata della sessione a browser chiuso

    Originariamente inviato da leviathan

    Che dite sono stato esauriente? Spero vi possa essere utile. Se avete commenti o precisazioni postate pure...sono graditi :adhone:
    Ciao,
    la questione era stata affrontata diverse volte nel forum, comunque
    hai fatto benissimo a inserire le risposte alle domande che ti eri fatto

    Aggiungo però che il cookie non basta, perchè se la durata del cookie supera quella dela vita del file di sessione dopo l'ultimo accesso(session.gc_maxlifetime ) e quest'ultimo è stato eliminato dalla garbage collection, potresti anche dover rifare il login
    per favore NIENTE PVT TECNICI da sconosciuti

  3. #3
    Non ho capito bene quello che hai detto... potresti spiegarti con qualche esempio?
    Scusa la cocciutaggine
    Sono secoli che dormo, secoli che non levo il mio possente volo di Drago. Ora voglio l'immensità del cielo ed il sole splendente.
    IO SONO IL DRAGO! Io sono!

    Visitate il mio blog tecnologico:
    http://www.levysoft.it

  4. #4
    Se il cookie scade dopo 2 giorni ma il gc.max_lifetime è di 20 minuti e non accedi alle pagine di sessione per più di 20 minuti, allora la sessione scade comunque
    per favore NIENTE PVT TECNICI da sconosciuti

  5. #5
    Grazie,
    ho cercato e ho visto che:

    session.gc_maxlifetime specifica il numero di secondi dopo i quali i dati saranno considerati 'spazzatura' e cancellati.

    session.cookie_lifetime specifica il tempo di vita insecondi del cookie che viene mandato al browser. Il valore 0 significa "fino a che il browser viene chiuso". Di default è 0.

    Ma significa che session.gc_maxlifetime dice il max periodo in cui tenere i dati nella Temp????

    Ho letto che è importante settare un appropriato valore per 'session.gc_maxlifetime'. Esso determina quanti secondi una sessione possa essere inattiva prima che sia distrutta dalla
    sessione di management. Quando settate questo parametro tenete in
    considerazione che, mentre lavorate un utente potrebbe rimanere sulla pagina web molto più a lungo dell'uso regolare, ad esempio quando edita un testo lungo. Comunque per ragioni di sicurezza il valore della 'session.gc_maxlifetime' non deve essere settata troppo alta. Raccomandiamo di settarla a 3600 secondi (=1 ora).


    Ma se con
    Codice PHP:
    session_set_cookie_params($expireTime); 
    setto, da codice, il valore del session.cookie_lifetime,
    quale è il codice per settare session.gc_maxlifetime??????

    Mi pare di aver letto che si può modificare solo sul file php.ini. E' vero?
    Sono secoli che dormo, secoli che non levo il mio possente volo di Drago. Ora voglio l'immensità del cielo ed il sole splendente.
    IO SONO IL DRAGO! Io sono!

    Visitate il mio blog tecnologico:
    http://www.levysoft.it

  6. #6
    Originariamente inviato da leviathan
    quale è il codice per settare session.gc_maxlifetime??????

    Mi pare di aver letto che si può modificare solo sul file php.ini. E' vero?
    No volendo puoi usare ini_set, ma visto che il tempo di default è di solito sufficiente come tempo massimo, per settare un tempo inferiore di solito non si ricorre a ini_set si fa così
    http://forum.html.it/forum/showthrea...5&pagenumber=2
    per favore NIENTE PVT TECNICI da sconosciuti

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.