但是有很多的PHP的方式來退出應用程序時,用戶使用會話處於閒置狀態,我使用是有可能發現在PHP閒置使用類似甚至鼠標焦點在JavaScript中檢測
同時登錄
$_SESSION['last_activity']=time()+10;
在頭
$expire_time = 10; //10 secs
if($_SESSION['last_activity'] < time()-$expire_time) {
echo 'session destroyed';
}
else {
$_SESSION['last_activity'] = time();
}
此功能將註銷用戶根據用戶點擊或刷新頁面甚至在標籤,但不鼠標事件這是有可能在JavaScript
var IDLE_TIMEOUT = 900; //seconds
var _idleSecondsCounter = 0;
document.onclick = function() {
_idleSecondsCounter = 0;
};
document.onmousemove = function() {
_idleSecondsCounter = 0;
};
document.onkeypress = function() {
_idleSecondsCounter = 0;
};
window.setInterval(CheckIdleTime, 1000);
function CheckIdleTime() {
_idleSecondsCounter++;
var oPanel = document.getElementById("SecondsUntilExpire");
if (oPanel)
oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + "";
if (_idleSecondsCounter >= IDLE_TIMEOUT) {
alert('Times up!, You are idle for about 15 minutes, Please login to continue');
document.location.href = "logout.php";
}
}
而且在整個項目或製表符這不會工作,如果用戶保持一個標籤空閒,並在另一個標籤上工作,整個項目將被註銷,有沒有什麼辦法讓這個腳本全局工作或使PHP檢測所有事件。
嘗試使用cookie設置時間,然後使用javascript檢查 – Edwin
? –
負面選民你能否解釋沃茨這個問題的錯誤? –