一个严格的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获得当前的脚本网址
Dec 10 PHP
php5 mysql分页实例代码
Apr 10 PHP
php强制下载类型的实现代码
Apr 21 PHP
phpmail类发送邮件函数代码
Feb 20 PHP
PHP系统命令函数使用分析
Jul 05 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
dedecms中使用php语句指南
Nov 13 PHP
PHP开发注意事项总结
Feb 04 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
php中str_pad()函数用法分析
Mar 28 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获取服务器时间的实现代码
2013/06/07 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
书香校园活动方案
2014/02/28 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
离婚协议书范本样本
2014/08/19 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
2014年底个人工作总结
2015/03/10 职场文书