如何知道在php會話到期之前會有多少秒鐘?我如何知道PHP會話會到期的unixtime?
我正在構建一個Web應用程序,用戶可能會花很多時間打入大文本字段,但出於安全原因,我仍然希望會話在相當短的時間後超時。如果他們的會議即將到期,我想警告他們,以便他們可以保存或採取其他行動以保持活力。
任何提示? 謝謝!
如何知道在php會話到期之前會有多少秒鐘?我如何知道PHP會話會到期的unixtime?
我正在構建一個Web應用程序,用戶可能會花很多時間打入大文本字段,但出於安全原因,我仍然希望會話在相當短的時間後超時。如果他們的會議即將到期,我想警告他們,以便他們可以保存或採取其他行動以保持活力。
任何提示? 謝謝!
這是非常容易的。您總是會話超時,默認爲1440秒。獲得實際價值,你可以使用
$seconds=ini_get('session.gc_maxlifetime');
但還有另一種方式,更好地之一。如果應用程序在會話過期後得到文本,請將該文本保存到會話中,請求輸入密碼,然後將文本保存爲常規提交。
您可以存儲過期時間在數據庫中,然後顯示一個警告當即將發生。或者您可以將過期時間存儲在cookie值中,然後讓JavaScript不斷檢查會話是否即將過期。
感謝您的快速回答:我如何知道會話過期時間是什麼?我一直在爬php的文檔,但沒有太多的運氣...... – Steve 2010-04-20 04:37:53
@Steve你看起來在哪裏?哪一頁? – 2010-04-20 04:38:57
你的意思是「默認」會話到期時間?我認爲默認值爲1440,由session.gc_maxlifetime決定(這會在1440秒後開始垃圾收集會話),但只要您設置它(默認爲瀏覽器關閉),cookie可以持續使用。看看http://www.php.net/manual/en/session.configuration.php – 2010-04-20 04:41:20
謝謝。優雅的解決方案將文本保存到會話中並重新進行身份驗證 – Steve 2010-04-20 04:52:43