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

    E' possibile intercettare la scadenza della sessione PHP?

    Salve, ho realizzato un sito in PHP utilizzando delle variabili di sessione per l'autenticazione dell'utente, il mio problema è questo, la ditta che mi ha commissionato il sito vorrebbe essere sempre a conoscenza degli accessi (login e logout dell'utente), ho realizzato questa cosa attraverso una tabella di un database mysql in cui vengono scritti il campo login con il timestamp corrente e il campo logout lasciato a null, all'effettuazione del logout la tupla viene aggiornata e viene scritto il timestamp del logout. Fin qui tutto ok se non fosse che se ovviamente la sessione php scade per timeout oppure per chiusura del browser senza aver prima effettuato il logout, il campo logout resta sempre e comunque a null, per risolvere questo problema avrei bisogno di 2 cose fondamentali, intercettare la chiusura della sessione (se possibile) e intercettare l'uscita dal browser.
    Ho trovato un piccolo script java per realizzare la seconda cosa tuttavia è troppo generico perchè mi intercetta tutto e non solo la chiusura del browser ma anche il cambio di pagina web all'interno dello stesso dominio...come posso fare per gestire questa cosa? Qualcuno ci si è già imbattuto e ha qualche idea?

  2. #2
    Ci sono principalmente due metodi.

    1. Implementi un tuo gestore delle sessioni http://www.php.net/session_set_save_handler

    2. Inserisci nel database un campo "last_update" che aggiorni ad ogni richiesta dell'utente.
    Poi ad intervalli regolari (es. ogni ora) aggiorni lo stato di "logout" per tutti gli utenti che hanno last_update più vecchio del limite di durata della sessione

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.