一个严格的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 相关文章推荐
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
CentOS下PHP安装Oracle扩展
Feb 15 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHP函数超时处理方法
Feb 14 PHP
PHP图片加水印实现方法
May 06 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
Jun 01 PHP
php利用ZipArchive类操作文件的实例
Jan 21 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新手上路(五)
2006/10/09 PHP
php中的登陆login
2007/01/18 PHP
php学习 函数 课件
2008/06/15 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
2011/07/26 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
python实现简单学生信息管理系统
2020/04/09 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
python如何编写win程序
2020/06/08 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
C语言编程题
2015/03/09 面试题
数控专业毕业生求职信范文
2013/09/21 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
公司捐款倡议书
2014/05/14 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
python实现的人脸识别打卡系统
2021/05/08 Python