2014-12-30 30 views
2

我們知道,當瀏覽器窗口關閉時,會話結束,瀏覽器從我們的計算機刪除phpsesid。但是服務器端,我們怎麼知道我們需要刪除那個PHPSESID的記錄?由於我們不知道用戶何時關閉瀏覽器窗口。我的意思是可以有人設置瀏覽器,以便關閉phpsesid不會被刪除,因此它可以始終登錄?
或這是如何工作的?該會話的PHPSESID和服務器記錄如何以及何時被刪除?

+0

當用戶關閉瀏覽器時使用網絡套接字,連接將會中斷,並且您在服務器上取消設置會話 –

+0

我確實在問這個問題,如果我們不這樣的話會發生什麼?如果我們不保持與用戶的持續連接。你認爲很難欺騙我們的瀏覽器窗口永遠不會關閉的服務器嗎? –

+0

在Linux服務器上,會話通常保存在臨時文件夾中,因此會定期自動刪除。 – Passerby

回答

0

在php.ini文件中,您將看到有很多變量用於配置PHP會話。 session.gc_maxlifetime用於設置會話過期之前的時間,如所述。 只要服務器上的延遲過期,垃圾收集器將刪除與該會話相對應的文件。 這與客戶端Cookie的持續時間無關,由session.cookie_lifetime設置。

關於garbage collection的一些信息。

+0

它說1440.所以24分鐘後,該記錄從php的臨時文件夾中刪除?即使用戶登錄了24分鐘?或者在24分鐘後記錄最後被使用? –

+0

用戶將登錄1440s。它很短,我認爲經常網站使用時間較長,如月,但經常重新生成會話ID和客戶端cookie,以防止任何黑客入侵。 – Guillaume

+0

等一下,你的意思是說,如果我持續瀏覽一個網站24分鐘,它會在24分鐘後註銷我?在會話記錄不活動24分鐘後,它會不會刪除它? –

相關問題