Newsgroup: it.comp.www.php
Titolo: sessioni e timeout di fine sessione

 Io vorrei fare un autenticazione con password in alcune pagine, ho pensato
di fare delle sessioni cosě ogni volta che uno digita la password corretta
non serve che la ridigiti in ogni pagina. Il problema č che non capisco:
quando l'utente esce chiudendo il browser e non facendo il logout (e quindi
non eliminando la sessione), la sessione rimane attiva, come posso fare per
mettere un timeout che passato il tempo si autoelimina il file di sessione?

 quindi non eliminando la sessione), la sessione rimane attiva, 
Mi pare alquanto improbabile. Di standard il cookie delle sessioni
viene eliminato alla chiusura del browser.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
L'uomo, conscio di sbagliare, persevera.

 viene eliminato alla chiusura del browser.
Esatto, pero' devi chiudere TUTTE le finestre del browser non solo 
quella su cui stai lavorando, forse e' questo il caso di maira

 viene eliminato alla chiusura del browser.
non mi riferivo al cookie, ma al file di sessione in cui si possono
memorizzare i dati dell'utente.
chiudendo il browser, il file ad esempio
"sess_0ecc834e8e8ec7606f165e7f7c7cad2c" rimane nella sua locazione (nel
server) e non viene cancellato...

 memorizzare i dati dell'utente.
E a te che cosa importa se viene cancellato o meno?
Lascia che sia il server a gestire le sessioni e la cancellazione dei
file non piu utilizzati.


 file non piu utilizzati.
ma esiste pure l'istruzione "session_destroy()" per eliminare il file di
sessione... solo che vorrei impostare il timeout (del resto come tutti i
login/logout, no?), inoltre visto che il server č mio vorrei capire come
funziona la cancellazione dei file.
grazie

 di sessione... solo che vorrei impostare il timeout 
Se ne e' parlato decine e decine di volte, cerca tra i vecchi post.
Comunque ribadisco il mio scetticismo sul fatto che sia rischioso che i
file di sessione non vengano eliminati immediatamente.


 session.gc_*
ti riferivi in particolare a questo "session.gc_maxlifetime "?

 ti riferivi in particolare a questo "session.gc_maxlifetime "?
Ad entrambe.


 Ad entrambe.
ho provato a impostare il "session.gc_maxlifetime" a un numero di secondi
basso per vedere se funziona, ma non funge... la sessione rimane... boh
ho letto i vecchi post e si parla di "session_save_handler", ma non
basterebbe "session.gc_maxlifetime" per eliminare la sessione scaduta?

 rimane...
Leggi quello che c'e' scritto riguardo session.gc_probability


basso per vedere se funziona, ma non funge... la sessione rimane...
Il GC (garbage collector) non e' attivato ogni volta, ma solo una volta
ogni tanto, con probabilita' regolabile.
Leonardo
-- 
Avere studiato senza mettere in pratica e' inutile;
mettere in pratica senza avere studiato e' pericoloso.
                                                - Conphpucio


Ciao,
anche da codice
ini_set("session.gc_maxlifetime", "$secondi") ;
La cancellazione avverrà solo dopo $secondi dall'ultimo accesso al file di
sessione ma solo se questo accesso ricade nella gc probability.
Questo per una ragione di prestazioni, non si può controllare continuamente
la data dell'ultimo accesso a un file.
Se invece salvi le sessioni su database puoi anche impostare la
session.gc_probability a 100%
Non esiste un grande problema di sicurezza ma fino a quando il file di
sessione non viene distrutto, se viene passato l'id corretto via url o
cookie, il file anche se scaduto può essere ri-validato
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

dunque in sostanza, se ho ben capito, una volta ogni tanto si attiva il GC,
il quale cancella tutte le sessioni scadute, in base a come imposto la
probabilità, è più o meno frequente la sua attivazione.
ho capito bene?
grazie a tutti