一个严格的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采集相关教程之一 CURL函数库
Feb 15 PHP
php读取javascript设置的cookies的代码
Apr 12 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
Jul 25 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
PHP实现WebService的简单示例和实现步骤
Mar 27 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
Feb 11 PHP
TP5多入口设置实例讲解
Dec 15 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
WordPress判断用户是否登录的代码
2011/03/17 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
jQuery实现广告条滚动效果
2017/08/22 jQuery
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
详解python变量与数据类型
2020/08/25 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
EJB3推出JPA的原因
2013/10/16 面试题
外贸学院会计专业应届生求职信
2013/11/14 职场文书
《称象》教学反思
2014/04/25 职场文书
小学教师教育随笔
2015/08/14 职场文书
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
SQL CASE 表达式的具体使用
2022/03/21 SQL Server
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS