我进行了广泛的搜索,虽然我发现了很多关于管理 PHP 会话到期时间的问题,但我没有发现任何与我提出的方法有关的问题。我有工作代码,但想通过这个社区传递它,看看是否有任何不可预见的问题或潜在的利用。提前感谢您的反馈。
本质上,一旦设置了购物车会话,页面将开始每 10 分钟不活动刷新一次。一旦总经过的时间(因为设置了会话)超过 30 分钟,用户将被重定向到破坏所有会话的页面。
if (isset($_SESSION["shopping_cart"])) {
echo '<meta http-equiv="refresh" content="600" />';
if (!isset($_SESSION['timer'])) {
$_SESSION['timer'] = time();
}
$now = time();
$elapsed = $now - $_SESSION['timer'];
if ($elapsed > 1800) {
header('Location: session_reset.php');
exit();
}
}