微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何让我的OpenCart客户在一段时间不活动后退出?

我们有一个OpenCart站点(版本2.3.0.2).当客户登录时,我希望他们在指定时间内处于非活动状态后被强制退出,例如30分钟我观察到,即使客户闲置超过一个小时,他们也永远不会退出.

在根目录上的PHP.ini上,我修改了超时行:

session.gc_maxlifetime = 3600;

我放置了一个info.PHP文件,其中包含以下代码

<?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 举报,一经查实,本站将立刻删除。

相关推荐