我们有一个OpenCart站点(版本2.3.0.2).当客户登录时,我希望他们在指定时间内处于非活动状态后被强制退出,例如30分钟我观察到,即使客户闲置超过一个小时,他们也永远不会退出.
session.gc_maxlifetime = 3600;
<?PHP
$maxlifetime = ini_get("session.gc_maxlifetime");
echo "max=".$maxlifetime;
echo "<hr>";
PHPinfo();
?>
对于PHPinfo()中的echo和session.gc_maxlifetime,输出显示1440(24分钟).
因此,要么客户在30分钟或24分钟后退出.无论哪种方式,我都希望客户在一段时间不活动后退出.我该怎么做呢?
解决方法:
添加此功能的最佳方法是使用使用当前时间设置的会话.NB:最好根据您使用的Opencart版本创建vqmod或modification section,以免影响Opencart Core.见下面的代码:
if (!isset($this->session->data['CREATED'])) {
$this->session->data['CREATED'] = time();
} else if (time() - $this->session->data['CREATED'] > 1200) { //time in seconds
session_destroy();
$this->logout();
} else if (isset($this->session->data['CREATED'])) {
$this->session->data['CREATED'] = time();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。