一个严格的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 相关文章推荐
phpwind中的数据库操作类
Jan 02 PHP
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
使用 eAccelerator加速PHP代码的方法
Sep 30 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
19个超实用的PHP代码片段
Mar 14 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
PHP中使用Imagick操作PSD文件实例
Jan 26 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 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
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
javascript读写json示例
2014/04/11 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
python实现猜拳小游戏
2020/04/05 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
艺术设计专业个人求职信
2013/09/21 职场文书
骨干教师培训制度
2014/01/13 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
经典祝酒词大全
2015/08/12 职场文书