qual'è il miglior metodo per decidere la durata della sessione??
qual'è il miglior metodo per decidere la durata della sessione??
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
non credo esista un "metodo" al limite possono esserci esigenze. Date le esigenze si puo' valutare un tempo personalizzato di gestione della sessioneOriginariamente inviato da torrone
qual'è il miglior metodo per decidere la durata della sessione??
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
mm.. potrebbe aver senso fare così... ora ti faccio un esempio...![]()
-un utente fa il login
-al login (se autenticato) viene salvato l'utente online, creando una record in una tabella del database
-in questa tabella viene salvata la data dell'ultimo click nel sito (cioè al sua ultima attività)
si potrebbe far si che se la sua ultima attività risale più di 5 minuti fa al click successivo faccio sessione_destroy e cancello il record, quindi è come se li facessi il logout, mentre se risale a meno di 5 minuti fa semplicemente aggiorno il campo dell'ultimo click.
poi per tenere aggiornato bene la tabella con gli utenti online potrei far si che cmq venga aggiornata da ogni utente online, per esempio se c'è un utente online e nella tabella c'è un utente con l'ultimo click a più di 5 minuti fa l'utente online cancella il record dell'utente inattivo
e se l'utente inattivo prova a muoversi nel sito non essendo più presente nella tabella online dovrà rieffettuare il login perchè ritengo online gli utenti che oltre ad aver la sessione attiva dopo il login siano presenti nella tabella degli utenti online
può avere senso una cosa così?
![]()
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
direi che sotto i 15 minuti è sicuramente poco
con 5 se uno legge i contenuti rischia di far scadere la sessione di continuo
per gli utenti online puoi anche salvarti l'ultimo click in una tabella e contare i click degli ultimi 5 minuti, se poi uno fa un click dopo 6 semplicemente lo riconti invece di sloggarlo
ciao
si si.. il tempo era solo un semplice esempio.. quello che mi interessava è se la logica che ho scritto è giusta...è giusta?
![]()
Andrea Torrone - Personal Trainer & Online Fitness e Bodybuilding Coach
PROGETTI WEB: ARCACED - Studio Legale Morachiello e Associati
hai due possibilita':
1) usare le sessioni fornite dal php
2) gestirti le sessioni di lavoro in modo personale
nel tuo caso non serve cancellare un record scaduto, ma solo considerarlo scaduto verificando il tempo trascorso dall'ultimo aggiornamento del record.
Se intendi usare session_destroy significa che vuoi utilizzare l'opzione 1. Quindi basta gestire i tempi che ti servono con ini_set() oppure su php.ini. Appoggiando le variabili su file di sessione la scadenza (in secondi) viene controllata a partire da data/ora corrente con la data/ora creazione/ultima modifica del file di sessione.
Se vuoi memorizzare la connessione su record utente, dovrai tenere conto anche dei timeout usati dal php nella "sua" sessione.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.