Редактировать: я добавил немного "засолки" в $ id, я не знаю ... У меня такое ощущение, что он еще более уникален, хотя я думаю, что маловероятно, что будут похожие идентификаторы из-за использование микросекунд, но только для большей уверенности
как-то так
JQuery:
Ajax-запрос к StayAlive.php каждые 10 секунд
function pingPing(){
$.ajax(
{
type:'GET',
url:'StayAlive.php',
success: function()
{
setTimeout(pingPing, 10000);
}
}
}
PHP: StayAlive.php
<?php
function newUser(){
$id=sha1($_SERVER['HTTP_USER_AGENT'].microtime().$_SERVER['REMOTE_ADDR']);
setcookie("id", $id, time()+3600*24*365);
//create new row in the database for that $id
}
if (isset($_COOKIE["id"])){
//check if the id is in the database
//if yes => time_spent+=10
//if no => newUser();
}
else
newUser();
?>