La versione più semplice (ma "sporca") che mi è venuta in mente.
Crea una cartella vuota.
Ogni volta che un utente si connette alla pagina:

- crea un file chiamato come l'IP
- cicla per tutti i file e verifica la data di modifica, se è più vecchia di X (es. 30 minuti), eliminalo

Nella pagina, inserisci un codice JS che richiami tramite AJAX una pagina che si occupa di effettuare un touch() sul proprio file "IP".