一个严格的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 相关文章推荐
APMServ使用说明
Oct 23 PHP
PHP 身份证号验证函数
May 07 PHP
PHP 字符串 小常识
Jun 05 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
PHP+ajax分页实例简析
Dec 07 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
PHP 实现公历日期与农历日期的互转换
Sep 13 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
PHP 布尔值的自增与自减的实现方法
May 03 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
Oct 18 PHP
PHP实现抽奖功能实例代码
Jun 30 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 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数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
获取PHP警告错误信息的解决方法
2013/06/03 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
javascript中json对象json数组json字符串互转及取值方法
2017/04/19 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
Python实现分割文件及合并文件的方法
2015/07/10 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
深入浅析Python中的迭代器
2019/06/04 Python
Python列表切片常用操作实例解析
2019/12/16 Python
如何查看python关键字
2021/01/17 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
查询优化的一般准则有哪些
2015/03/08 面试题
茶叶店创业计划书范文
2014/01/19 职场文书
办公室个人总结
2015/02/28 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书