追跡システムはより安全な側ではないため、ウィンドウ/タブが閉じていることを検出することが最善の選択肢です.
セッションデータとして「時間」フラグを設定し、セッションがまだ「新規/特定の制限を超えていない」かどうかを確認して、ページロードごとにログイン (または機能) を維持します。
//on pageload
session_start();
$idletime=60;//after 60 seconds the user gets logged out
if (time()-$_SESSION['timestamp']>$idletime){
session_destroy();
session_unset();
}else{
$_SESSION['timestamp']=time();
}
//on session creation
$_SESSION['timestamp']=time();
別のオプション:
<?php
/* set the cache limiter to 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* set the cache expire to 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();
/* start the session */
session_start();
echo "The cache limiter is now set to $cache_limiter<br />";
echo "The cached session pages expire after $cache_expire minutes";
?>
参照: session-cache-expire