Salve, nel mio sito ho implementato la funzione di login.
Questo senza possibilità di registrarsi. Registro io manualmente solo i miei collaboratori.
In tutto circa 6 persone. Il sistema funziona.
Però adesso vorrei andare avanti e qual'ora ci fossero più operatori loggati, mi piacerebbe fossero visualizzati sul sito.
Come potrei fare ? Grazie
Mantieni nel database, per ogni utente, l'informazione sul timestamp dell'ultima azione compiuta.
Ogni volta che viene compiuta un'azione (ad esempio, il cariamento di una pagina), aggiorna l'informazione nella tabella.
Per ottenere la lista degli utenti attivi, estrai dalla base di dati tutti gli utenti che hanno eseguito un'azione negli ultimi n secondi, con n a tuo piacimento (5 minuti? Mezz'ora?).
Altrimenti, memorizza nella base di dati un campo is_logged che viene impostato a true all'atto del login, ed a false al logout. Questo però non funziona se l'utente non effettua correttamente la procedura di logout!
Salve, se invece volessi impedire il login a più di 1 operatore alla volta ?
Cioè vorrei prevenire che due persone si trovino a gestire gli stessi file in contemporanea.
Con le sessioni ho visto che non funziona.
Come si può fare ? Grazie
Semplicemente puoi settare un flag al login ed eliminarlo al logout (lato server), e prima di far effettuare il login controllare quel flag. Per sicurezza comunque dopo tot minuti/ore? che l'operatore non fa più alcuna azione libererei comunque il flag, altrimenti se un operatore non fa logout il sistema sarà bloccato.
Per i file, non so come li utilizzi ma hai provato a bloccarli mentre sono utilizzati? Ad esempio nella file_put_contents() tramite il flag LOCK_EX, oppure in generale con la flock() ?
Ciao!
Ultima modifica di alemoppo : 29-03-2017 alle ore 19.37.25