Nel tuo codice non fai un reale uso delle sessioni ma archivi solo i dati nel database.

Ti suggerisco vivamente di applicare le norme di sicurezza (es. http://www.php.net/mysql_real_escape_string) su tutti i valori che inserisci nel database che si basano sui dati inviati dall'utente (es. $_SERVER['HTTP_ACCEPT_LANGUAGE'], $_SERVER['HTTP_USER_AGENT']) e non.

http://www.php.net/manual/it/security.database.php

Per quanto riguarda i dati che potresti voler salvare, ci sono:

- IP ($_SERVER['REMOTE_ADDR'])
- Host remoto ($_SERVER['REMOTE_HOST'] e/o http://www.php.net/gethostbyaddr).
- Traduzione dell'IP in una posizione geografica (GeoIP, vedi http://ip-to-country.webhosting.info/ etc.).
- Referrer ($_SERVER['HTTP_REFERER']) con eventuale estrazione delle keyword in caso di provenienza da motore di ricerca.
- Host del Referrer (per velocizzare raggruppamenti e ricerche).
- Tempo di permanenza sul sito web (utilizzando JS e/o altre tecnologie lato client)
- Utilizzando un cookie "permanente" puoi tenere traccia del ritorno dello stesso utente.
- L'URL richiamato, con e senza query string.

Probabilmente vi sono altre info utili che al momento non mi vengono in mente.