Ci sarà di sicuro una tabella nel DB che indica gli utenti online. Un utente quando effettua il login, viene aggiunto nella tabella utenti_online. Credo sia il sistema migliore, anche perchè le variabili di sessione sono accessibili solo dall'utente cui è associato.