2010-05-25 20 views
5

Ho bisogno del sistema di disconnessione automatica nella mia applicazione.Come ottenere la disconnessione automatica in php?

se l'utente non utilizza l'applicazione per più di trenta minuti. È necessario eseguire nuovamente l'accesso.

questo è quello che mi serve. lastAccessTime dovrebbe essere inferiore a 30 minuti. se lastAccessTime supera i 30 minuti, l'utente deve accedere nuovamente con le proprie credenziali.

(auto attualmente i disconnettersi utilizzando il campo LastAccessTime in mia tabella utente (database) e confrontare LastAccessTime tempo di corrente per ogni pagina viene caricata, non credo che questo è il modo giusto.)

è la loro alcun modo per raggiungere? Grazie in anticipo.

risposta

7

È necessario specificare la durata della sessione e basta usare la $_SESSION per vedere se un utente è connesso:

ini_set('session.cookie_lifetime',(60*30)); // 60 seconds times 30 = 30 minutes 
+0

Non sarebbe anche disconnettere un utente attivo dopo 30 minuti ? –

+4

No, ogni volta che un utente attivo visita la pagina, il cookie viene reimpostato. – Konerak

+2

No, ogni richiesta reimposta il cookie e quindi riavvia il timer. – Amadan

3

Se stai usando i cookie per mantenere gli utenti registrati, è sufficiente impostare un TTL adeguata per esso .

Per un certo periodo di scadenza di 30 minuti, su login impostare il cookie in questo modo:

setcookie($COOKIE_NAME, $COOKIE_VALUE, time() + 60 * 30); 

In alternativa, è possibile utilizzare session_set_cookie_params

session_set_cookie_params(60 * 30); // takes lifetime as first argument 
Problemi correlati