Salva in un database gli utenti quando viene avviata la sessione. Ad ogni richiesta mantieni aggiornato un campo tipo TIMESTAMP (od equivalente). Ogni tanto (es. tramite cron oppure ogni X richieste oppure dopo X tempo dall'ultima richiesta) esegui una query che elimini tutte le sessioni con TIMESTAMP > di un tempo ragionevole (es. 20 minuti).come si potrebbe fare per vedere chi e on line ?
Per sapere chi è online basta che guardi i record rimasti nella tabella.