首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么标准会话生存期是24分钟(1440秒)?

为什么标准会话生存期是24分钟(1440秒)?
EN

Stack Overflow用户
提问于 2013-02-05 16:49:40
回答 2查看 33.8K关注 0票数 107

我一直在做一些关于PHP会话处理的研究,遇到了1440秒的session.gc_maxlifetime值。我一直在想为什么标准值是1440,它是如何计算的?这个计算的基础是什么?

保持会话多长时间是有意义的?您建议session.gc_maxlifetime的最小/最大值是多少?这个值越高,Web-App就越容易受到会话劫持的攻击。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-12 11:36:55

真正的答案可能非常接近这个:

回到PHP3时代,PHP本身没有会话支持。

但一个名为PHPLIB的开源库,最初由NetUSE AG的Boris Erdmann和Kristian Koehntopp编写,通过PHP3代码提供会话。

会话生存期是以分钟为单位定义的,而不是秒。默认生命周期是1440分钟,或者恰好是一天。以下是PHPLIB代码行:

代码语言:javascript
运行
复制
var $gc_time  = 1440;       ## Purge all session data older than 1440 minutes.

Sascha Schumann在1998至2000年间参与了PHPLIB项目。毫无疑问,他熟悉PHP3会话代码。

然后PHP4在2000年推出,支持原生会话,但现在生命周期以秒为单位指定。

我敢打赌,有人从来没有费心把分钟转换成秒。很可能那个人就是萨沙·舒曼。一旦该值被编码到Zend引擎中,它也成为配置(php.ini)的默认值。

票数 193
EN

Stack Overflow用户

发布于 2014-07-31 21:41:42

1440用于将秒转换为小时/天的时间计算。

  • 1天= 24小时(小时* 24 =1天)
  • 天= 1440分钟(分钟* 60 * 24 =1天)
  • 天= 86400秒(秒* 60 * 1440 =1天)

示例:

9天* 60 =540X1440= 777600秒

反之亦然:

777600秒/ 1440 = 540 / 60 =9天

票数 -18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14703363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档