我公司開發的人員記錄系統爲我公司的。我面臨的問題是員工離開他們的系統登錄,甚至忘記註銷。我希望系統在系統閒置10分鐘後註銷用戶。我幾乎不知道如何去做。我需要你的幫助倒計時註銷申請
Q
倒計時註銷申請
0
A
回答
-3
有一對夫婦的方法在這裏。首先,您的服務器應在一段時間過後清除會話。您的服務器還應該有一些刷新該會話的方式,通常是某種僅通過刷新會話保持活動狀態的api端點。
在與該組合,以避免您的服務器會話已結束,但你的前端會話還沒有,你要在JavaScript中使用一個計時器,請求會話值每隔幾分鐘的問題。如果這屆會議曾經返回不活動,那麼你會想要麼顯示一個模式或彈出允許用戶繼續他們的會話或者你只想把它們自動重定向到一個頁面,告訴他們的會話已過期的用戶。
在JavaScript的解決方案可能類似於以下。
function confirmSessionRefresh(){
if(confirm('Your session will expire in 1 minute. Click Ok to continue or cancel to log out in 1 minute.')){
fetch('/api/refreshsession');
setTimeout(confirmSessionRefresh, 540000);
}
}
setTimeout(confirmSessionRefresh, 540000); // 9 minutes (to allow 1 minute to respond to the prompt.
1
我已經構建了類似於您在過去使用jQuery Idle實現的功能。它檢測到鼠標和鍵盤活動,並且只在用戶真正處於非活動狀態時超時。
https://github.com/kidh0/jquery.idle
例子:
$(document).idle({
onIdle: function(){
windlow.location.href = '/logout.php';
},
idle: 10000
})
1
您可以使用這種代碼。
<!-- //for 10 minutes // the easiest one!-->
<meta http-equiv="refresh" content="600;url=logout.php" />
請牢記logout.php需要在PHP類似
session_start();
//measure the time
$_SESSION['loggedTime'] = time();
//10 minutes
if($_SESSION['loggedTime'] < time()+10*60)
{
session_destroy();
unset($_SESSION);
header("Location: 'index.php?stayedToLong=yes');
exit;
}
在index.php頁面從重定向index?stayedToLong=yes
這樣
session_start();
session_destroy();
unset($_SESSION);
header("Location: 'index.php?stayedToLong=yes');
exit;
或會話一些代碼,你可以像這樣顯示頁面。
if(isset($_GET['stayedToLong']) && $_GET['stayedToLong']=='yes')
{
echo 'You have are disconnected after 10 minutes';
}
相關問題
- 1. 批量註銷倒計時
- 2. 註銷了倒計時進度條
- 3. 產品促銷倒計時
- 4. 申請撤銷重做上
- 5. 離線銷售申請
- 6. Android註銷計時器
- 7. 註銷計時器php/javascript
- 8. 接收包沒有找到,註銷申請
- 9. 註冊申請URI方案
- 10. 在twitter上註冊申請
- 11. PHP倒計時器即使在用戶註銷時也能運行
- 12. 自動從申請註銷時,所有選項卡中的瀏覽器
- 13. 申請準時
- 14. 銷售稅申請未計算營業稅
- 15. jQuery倒計時 - 每日倒計時,還有次要倒計時?
- 16. Keycloak註銷請求
- 17. JQuery倒計時器不倒計時
- 18. Js倒計時只倒計時一次
- 19. C#timer_Tick()倒計時2步倒計時
- 20. jQuery倒計時不正確倒計時
- 21. 倒計時 - iPhone倒數計時器
- 22. 修復倒計時倒數計時器
- 23. JS倒計時不倒計時
- 24. 請求Xamarin表單倒計時器?
- 25. 當請求錯誤時FaceBook註銷
- 26. 用戶註銷時的AJAX請求
- 27. 年度申請Excel申請
- 28. 倒計時倒檔副
- 29. 循環倒數倒計時
- 30. Vb.net倒計時
每次頁面加載時都會啓動一個javascript倒數計時器。如果定時器打開特定時間,則重定向到註銷頁面以清除會話變量。如果用戶切換頁面,javascript定時器應該重新開始。如果你有很多使用javascript完成的頁面操作,頁面永遠不會被重新加載,在這種情況下,使頁面上運行的任何函數也啓動計時器,可能會有問題。 – GrumpyCrouton
將會話過期設置爲從上次刷新後的X分鐘開始。 – mkaatman
看看這裏[如何過期後30分鐘PHP的會話?](https://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes ) – q81