PHP 会话在 30 分钟后过期
问题:
如何创建一个 PHP 会话30 后过期分钟?
答案:
方法:实现自定义会话超时
PHP 内置的会话超时方法,如session.gc_maxlifetime 和 session.cookie_lifetime 由于各种因素并不可靠。相反,使用以下方法实现您自己的超时:
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { session_unset(); session_destroy(); } $_SESSION['LAST_ACTIVITY'] = time();
此代码会更新每个请求的会话时间戳,保持会话文件处于活动状态并防止垃圾收集器过早删除。
额外的安全性:
为了防止会话劫持,请重新生成会话 ID定期:
if (!isset($_SESSION['CREATED'])) { $_SESSION['CREATED'] = time(); } else if (time() - $_SESSION['CREATED'] > 1800) { session_regenerate_id(true); $_SESSION['CREATED'] = time(); }
注释:
以上是如何使 PHP 会话在 30 分钟不活动后过期?的详细内容。更多信息请关注PHP中文网其他相关文章!