我一直在做一些关于PHP会话处理的研究,遇到了1440秒的session.gc_maxlifetime
值。我一直在想为什么标准值是1440,它是如何计算的?这个计算的基础是什么?
保持会话多长时间是有意义的?您建议session.gc_maxlifetime的最小/最大值是多少?这个值越高,Web-App就越容易受到会话劫持的攻击。
发布于 2016-05-12 11:36:55
真正的答案可能非常接近这个:
回到PHP3时代,PHP本身没有会话支持。
但一个名为PHPLIB的开源库,最初由NetUSE AG的Boris Erdmann和Kristian Koehntopp编写,通过PHP3代码提供会话。
会话生存期是以分钟为单位定义的,而不是秒。默认生命周期是1440分钟,或者恰好是一天。以下是PHPLIB代码行:
var $gc_time = 1440; ## Purge all session data older than 1440 minutes.
Sascha Schumann在1998至2000年间参与了PHPLIB项目。毫无疑问,他熟悉PHP3会话代码。
然后PHP4在2000年推出,支持原生会话,但现在生命周期以秒为单位指定。
我敢打赌,有人从来没有费心把分钟转换成秒。很可能那个人就是萨沙·舒曼。一旦该值被编码到Zend引擎中,它也成为配置(php.ini
)的默认值。
发布于 2014-07-31 21:41:42
1440用于将秒转换为小时/天的时间计算。
示例:
9天* 60 =540X1440= 777600秒
反之亦然:
777600秒/ 1440 = 540 / 60 =9天
https://stackoverflow.com/questions/14703363
复制相似问题