ehm... che c'entra l'indirizzo ip?

- l'utente si logga e ti segni da qualche parte che l'utente X ha usato il sito alla data/ora Y

- l'utente usa il sistema... ogni volta che usa il sistema aggiorni la data/ora che sarà quindi Y+n_secondi

- ogni volta che l'utente usa il sistema, controlli che (Y+n) < Y+T, dove T sono i secondi di timeout entro i quali la sessione è considerata valida... se Y+n > Y+T, consideri la sessione scaduta e fai le procedure che ritieni opportune...

ad aggiungere, puoi controllare che l'utente operi sempre dallo stesso IP, se l'IP cambia consideri la sessione scaduta e lo rimandi alla login

l'indirizzo IP consideralo come "sempre valido", perchè non puoi sapere se l'ip dell'utente X è valido o meno, anche perchè puoi avere N utenti che usano lo stesso indirizzo IP (vedi utenti dietro nat come utenti aziendali, utenti fastweb, etc...)