Benzeri bir sistemde kullanıcının hareketlerini veritabanında tutuyordum.

Online kullanıcı bilgilerinin tutulduğu tabloya iki alan ekleyip birinde hangi sayfada bulunduğu, diğerinde de o sayfaya giriş zamanını güncelliyordum. Her bir sayfa değişiminde bu iki alanı güncelleyerek kullanıcının sitedeki aktifliğini kontrol altında tutmak kolaylaşıyor.

Belirlediğim periyodlarda (mesela Her 5 dakika'da bir) son işlem zamanına bakıp ona göre belirlenen süre içinde bir hareket yoksa o kullanıcıyı çıkmış olarak kabul ediyordum.

Kullanıcı logout yaparsa veritabanında ki alanı güncellemek kolay fakat browseri kapatır yada farklı bir siteye giderse biraz karışır.

Bu tarzda bir kodlama istediğini yapmak için bir fikir verebilir sanırım.