PHP 會話管理:控制會話逾時
在 PHP 中,會話可讓您儲存有關使用者與網站互動的資訊。若要控制會話的持續時間,您可以指定逾時。以下是如何設定超時並處理其過期。
設定會話逾時
當使用者登入時,您建立一個會話並為該會話指派一個值id 欄位。若要指定逾時,您需要將 session.gc_maxlifetime 指令設定為以秒為單位的值。此指令決定會話在逾時之前可以保持不活動狀態的時間。例如,要設定10 分鐘的超時:
ini_set('session.gc_maxlifetime', 600);
處理會話過期
要確定會話是否已過期,您可以檢查上次會話的時間用戶提出了請求。將此時間戳記儲存在會話資料中,例如:
$_SESSION['last_activity'] = time();
在後續請求中,您可以計算自上次活動以來經過的時間並將其與超時值進行比較:
$inactive_time = time() - $_SESSION['last_activity']; if ($inactive_time > 600) { // Session has expired. Perform necessary actions (e.g., redirect, log out). }
刷新會話逾時
如果使用者在會話期間保持活動狀態,您可以刷新透過更新last_activity時間戳來逾時。這可確保會話不會因不活動而提前過期。
透過實作這些技術,您可以有效地控制會話逾時並管理使用者與 PHP 應用程式的互動。
以上是如何控制 PHP 應用程式中的會話逾時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!