Player1
27-10-2007, 18:20
Ciao! Sono ancora alle prime armi con il php ed ho qualche dubbio sul funzionamento delle sessioni, spero che qualcuno di voi possa aiutarmi.
Sto realizzando la classica funzione di login per un sito, utilizzando le sessioni e passando l'ID di sessione per mezzo dell'url senza settare cookie sui browser client.
Ho il seguente dubbio: se un utente effettua il login poi chiude il browser senza effettuare logout quando si connette di nuovo e fa il login apre una nuova sessione e così via, in questo modo per un singolo utente vengono create diverse sessioni che ovviamente consumano risorse. Come faccio ad evitare che ciò avvenga? Una mia idea è quella di memorizzare lo username come variabile di sessione ed ogni volta che l'untente effettua il login verificare che non esista già una sessione che ha nella variabile username lo stesso nome utente, è possibile fare ciò? Se si è conveniente? Di solito come si ovvia a questo problema?
Altra domanda, questa però è più semplice: come faccio a settare un tempo di inattività trascorso il quale la sessione viene eliminata?
Il contatore del tempo viene riavviato ogni volta che si accede a qualsiasi variabile di una data sessione o ad ogni richiesta di una pagina devo inserire il comando di riavvio del contatore?
Grazie in anticipo per le risposte.Ciao!
Sto realizzando la classica funzione di login per un sito, utilizzando le sessioni e passando l'ID di sessione per mezzo dell'url senza settare cookie sui browser client.
Ho il seguente dubbio: se un utente effettua il login poi chiude il browser senza effettuare logout quando si connette di nuovo e fa il login apre una nuova sessione e così via, in questo modo per un singolo utente vengono create diverse sessioni che ovviamente consumano risorse. Come faccio ad evitare che ciò avvenga? Una mia idea è quella di memorizzare lo username come variabile di sessione ed ogni volta che l'untente effettua il login verificare che non esista già una sessione che ha nella variabile username lo stesso nome utente, è possibile fare ciò? Se si è conveniente? Di solito come si ovvia a questo problema?
Altra domanda, questa però è più semplice: come faccio a settare un tempo di inattività trascorso il quale la sessione viene eliminata?
Il contatore del tempo viene riavviato ogni volta che si accede a qualsiasi variabile di una data sessione o ad ogni richiesta di una pagina devo inserire il comando di riavvio del contatore?
Grazie in anticipo per le risposte.Ciao!