Aggiungere il controllo sull'IP è una buona idea!
non può bastare da solo perchè se uno si siede al mio PC potrei anche avere un IP fisso. E poi perchè chi sbircia il mio ID di sessione è facile si trovi nella stessa stanza nella quale sto navigando io...o comunque nella stessa rete. E non è detto che all'esterno ogni macchina risulti con un IP diverso.

Potremmo tirarne fuori un controllo del genere

<?php

session_start() ;

/*
nella speranza che il proxy invii il reale IP della macchina
*/
$ip=isset($_SERVER["HTTP_X_FORWARDED_FOR"])?$_SERVER["HTTP_X_FORWARDED_FOR"]:$_SERVER["REMOTE_ADDR"];

if(($_SESSION["last_in"]> $time_limit) || ($_SESSION["registred_ip"]!=$ip)){

$_SESSION = array();

session_destroy();

exit("Sessione non valida") ;


}

?>

Se ho dimenticato qualcosa aggiungi pure