一个严格的PHP Session会话超时时间设置方法


Posted in PHP onJune 10, 2014

最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考。

第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值:

ini_set('session.gc_maxlifetime', "3600"); // 秒

ini_set("session.cookie_lifetime","3600"); // 秒

第二种方法即设置Session时间戳,比如下面的办法。

在登录成功时设置时间戳为当前时间推后1小时,$_SESSION['expiretime'] = time() + 3600;。在检查用户登录情况使用如下代码:

if(isset($_SESSION['expiretime'])) {

    if($_SESSION['expiretime'] < time()) {

        unset($_SESSION['expiretime']);

        header('Location: logout.php?TIMEOUT'); // 登出

        exit(0);

    } else {

        $_SESSION['expiretime'] = time() + 3600; // 刷新时间戳

    }

}

根据文章《https://3water.com/article/52961.htm》,我们可以结合第一种和第二种方法来最终决定会话超时时间。
PHP 相关文章推荐
使用php计算排列组合的方法
Nov 13 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
CentOS安装php v8js教程
Feb 26 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
php搜索文件程序分享
Oct 30 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
php的扩展写法总结
May 14 PHP
php实现的表单验证类完整示例
Aug 13 PHP
PHP之多条件混合筛选功能的实现方法
Oct 09 PHP
解决CodeIgniter伪静态失效
Jun 09 #PHP
CI(CodeIgniter)框架介绍
Jun 09 #PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 #PHP
PHP小教程之实现链表
Jun 09 #PHP
浅谈Eclipse PDT调试PHP程序
Jun 09 #PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 #PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 #PHP
You might like
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
Python 第一步 hello world
2009/09/25 Python
Python基本数据类型详细介绍
2014/03/11 Python
python中元类用法实例
2014/10/10 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
python集合用法实例分析
2015/05/30 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
python实现简单成绩录入系统
2019/09/19 Python
使用Python发现隐藏的wifi
2020/03/04 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
经典c++面试题二
2015/08/14 面试题
审查起诉阶段律师意见书
2015/05/19 职场文书
法律讲堂观后感
2015/06/11 职场文书
公司酒会主持词
2015/07/02 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB