javascript - php如何實現一段時間使用者沒有操作,系統自動自動退出
題主用的是thinkphp開發的,靠著它現有功能是能實現一段時間內,結束這個會話(不管用戶有無操作),但這麼一來,體驗肯定不好了
對於使用者有沒有操作的判斷業界一般是指什麼樣的情況?
1.滑鼠一段時間不移動?
2.滑鼠沒有點擊操作?
3...
我可以用js來記錄的這些操作在cookie中,並能設定cookie的過期時間,但是cookie是過期了,怎麼結束session呢?
回覆內容:
題主用的是thinkphp開發的,靠著它現有功能是能實現一段時間內,結束這個會話(不管用戶有無操作),但這麼一來,體驗肯定不好了
對於使用者有沒有操作的判斷業界一般是指什麼樣的情況?
1.滑鼠一段時間不移動?
2.滑鼠沒有點擊操作?
3...
我可以用js來記錄的這些操作在cookie中,並能設定cookie的過期時間,但是cookie是過期了,怎麼結束session呢?
方案一
服務端實作原理:使用者表設定一個一段記錄存取時間戳,當使用者登入時寫入當時時間戳記加上需要間隔不操作的時間,每次存取需要登入權限的頁面時,先偵測該欄位的時間是否大於目前時間,如果大於,那麼表示有在操作,並且把時間戳加上需要間隔不操作就退出的時間,再次更新該欄位。或用session取代資料庫記錄。
方案二
前端實作原理,使用HTML5儲存或cookie,跟方案一思路一致,只不過儲存方式換了。
方案比較
方案一的資料庫存儲,效能上不妥,HTML5不相容於低版瀏覽器,cookie停用js會失效。所以session比較適合。
我做過的都是對於用戶登入後15分鐘如果沒有操作自動退出。沒有針對滑鼠移不移動,都是對滑鼠有沒有點擊或頁面有沒有刷新之類的。你可以在設定cookie
過期的時候直接把cookie
刪除就可以。僅供參考
一般有沒有操作是指有沒有存取請求,有請求時後端可以刷新cookie,用cookie來控制過期。
當然更保險的也可以用session,用session記錄請求的時間,新的請求時判斷是否過期。如果前端要強制退出可以用心跳訊號(當然心跳訊號就不能記錄請求時間了)。
也可以兩者結合,總之方法是多種多樣的,就看你想怎麼用了。
在php.ini有配置session會話的失效時間的,當超出時間未有操作動作cli會自己自殺
的。
一般是,前端全域的事件監聽,每次事件觸發都會AJAX呼叫一次會話,這樣就可以保持使用者會話不終斷了。反之不操作並超出php.ini中會話失效時間就會釋放掉。
別瞎折騰了,這裡有現成的:
https://github.com/thorst/jqu...
進入閒置狀態回呼和恢復啟動狀態都有回調,進入閒置狀態向伺服器發一條 xhr 結束 session 完事
一般都是後台控制,設定session超時時間。
用戶的操作時間界限是SESSION的生命週期,如果假設為session週期為24分鐘,如果用戶在12:00登入後,沒有任何操作,12:24後,那麼此時SESSION就失效了,再次操作就要求重新登入了,界線就是兩次操作的時間差不能超過24分鐘。另外:COOKIE失效了,那麼SESSION的登入一定是沒有的,使用者一定是未登入狀態,PHP的垃圾回收機制會自動清理SESSION文件,如果是redis存放的SESSION,那麼redis也有對應的銷毀session資料的方法。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
