2013-11-03 30 views
-2

我有一個應用程序,用戶絕對必須登錄才能使用它。檢查用戶是否返回頁面時有效的PHP會話 - jQuery

我在登錄時使用PHP會話來存儲用戶數據。

如果用戶離開窗口,然後返回例如一小時後,檢查他們是否仍然登錄的最佳方法是什麼?

選項我能想到的是:

1) check mouse movement which then fire AJAX php file to see if session still active 

2) check as above on mouse click anywhere 

但這些將被不斷地運行,因此打,打了服務器潛在的數千次第二,沒有那麼多的用戶,所以我懷疑高效。

有沒有更好的方法來做到這一點?有沒有「標準」?

我正在使用PHP和JQuery。

+1

「登錄」和活動不是一回事。你是在說你必須知道他們是否「積極」? – 2013-11-03 22:09:58

回答

2

使用Javascript setInterval(function, time)函數每隔X分鐘輪詢一次服務器以檢查用戶是否已通過身份驗證。根據上述結果在JSON中返回響應。

請參閱javascript setInterval關於setInterval()函數的良好討論。

如果你實際上問用戶在網站上被活躍,您可以用分鐘後(如一個小時)的量X setTimeout()功能通過AJAX請求了登錄用戶,或顯示如網上銀行的警告。

如果用戶在超時發生之前發出請求,那麼由於請求 - 響應週期,該進程會自然重啓。

+2

也許夫婦,當選項卡重新獲得焦點時觸發支票 – Chris

+0

@Chris是的,我同意。 – SamV