如何創建實時PHP會話控制?我的意思是,當用戶登錄時,我創建了一個PHP會話($_SESSION[]
),並將它存儲在一個表(MySQL)中,但是如何知道用戶何時註銷?我明顯可以檢測到用戶何時註銷並銷燬會話,但如果用戶從未單擊,會發生什麼情況註銷如何在會話關閉時檢測到該問題?
謝謝!PHP實時會話控制。怎麼樣?
0
A
回答
1
這是一個常見問題。當用戶不單擊註銷按鈕時,會話將再次可用。通常情況下,垃圾收集器會在定義的時間後清理會話。
http://www.wikihow.com/Create-a-Secure-Session-Managment-System-in-PHP-and-MySQL
這裏是一個很好的教程如何建立一個MySQL的會話處理程序。所以讓PHP管理這個部分。
重要組成部分,是在這裏:
<?php
// set our custom session functions.
session_set_save_handler(array($this, 'open'),
array($this, 'close'),
array($this, 'read'),
array($this, 'write'),
array($this, 'destroy'),
array($this, 'gc'));
// This line prevents unexpected effects
//when using objects as save handlers.
register_shutdown_function('session_write_close');
?>
您定義清理您的會話功能的最後一個陣列。
-1
我有這個問題,但我解決了通過創建另一個ID,所以我不必使用SESSION ID(我認爲它不安全),所以每次用戶登錄我的系統時,他會得到另一個ID,我的函數檢查如果用戶有權檢查數據庫上的用戶標識,該用戶標識也保存在我的會話中,以檢查它是否與我的數據庫上的標識相同。
我認爲這是另一個安全措施,以確保我只有一個用戶登錄實例,並且直到現在我都沒有問題。
但是,如果您必須知道用戶何時斷開了您的系統,這將無濟於事。
相關問題
- 1. 會話的控制持續時間PHP
- 2. PHP - 會話和控制器
- 3. Plone版本控制,怎麼樣?
- 4. 視圖和控制器彼此不可見?怎麼會這樣?
- 5. 怎麼辦時,PHP會不會在笨另一個控制器繼續嗎?
- 6. 控制會話
- 7. 會話控制
- 8. javascript/php靜態倒計時,怎麼樣?
- 9. Php,會話ID控制不起作用?
- 10. PHP AJAX控制會話變量消失
- 11. PHP中的password_hash()怎麼樣
- 12. PHP命令+值?怎麼樣?
- 13. 樣式-CSS php會話值
- 14. 製作按鈕怎麼樣?
- 15. 製作圖庫,怎麼樣?
- 16. 控制面板中未顯示實時會話
- 17. 問題:控制會話超時
- 18. 一個會話應該在其他會話進入函數之前完成一個php函數,怎麼樣?
- 19. PHP - 用於臨時控制的會話使用
- 20. 控制PHP會話超時,每次點擊重置計數器
- 21. PHP會話:如果我將會話期限設置爲10天,該怎麼辦?
- 22. 會話獲取超時時彈簧控制器@SessionAttribute會發生什麼
- 23. 我怎樣才能得到實際控制器在後方法
- 24. 什麼時候PHP會話結束?
- 25. php會話超時
- 26. php會話超時
- 27. PHP會話超時
- 28. PHP會話超時
- 29. PHP會話超時
- 30. WebBrowser控制會話共享?
每次用戶在您的網站上進行交互時,都可以更新您的表格的時間,並將那些沒有充當註銷的用戶更新。 – harrrrrrry 2015-01-26 20:07:29
你沒有。您可以使用每隔* n *秒自動刷新一次的隱藏框架,使用「心跳」或其他方法生成圖像或其他東西的ajax – 2015-01-26 20:07:59
會話在定義的超時(默認爲24分鐘)後自動失效。會話cookie也可以配置爲當瀏覽器窗口關閉時而不是在上一次請求之後終止。 – Dai 2015-01-26 20:08:05