我一直在研究PHP会话处理,并且遇到了session.gc_maxlifetime1440秒的值.我一直在想为什么标准值是1440以及如何计算?这个计算的基础是什么?
保持会话有多长时间?您建议使用session.gc_maxlifetime的最小值/最大值?值得越高,Web-App对于会话劫持越脆弱,我会说.
如果我做:
ini_set('session.gc_maxlifetime', 86400);
Run Code Online (Sandbox Code Playgroud)
这是否意味着用户可以将浏览器放在同一页面上(非活动状态)长达1天,而无需担心会话被垃圾回收并且他们被注销?
如果服务器配置不支持,会发生什么?(它会给我一个错误吗?或者只是默默地失败?)
默认的垃圾收集时间是24分钟,这可能很容易在我的系统中发生.
垃圾收集是否在session_start上运行?
当我在会话中存储一个变量(在php中)时,该变量会在该文件中停留多长时间?在有人取消设置变量或删除文件之前,它会存在吗?
更新:所以它是 在php.ini文件中设置的session.gc-maxlifetime设置.您可以通过致电phpinfo()来检查您的设置.我的设定为1440秒,所以24分钟.可能在这里发现了一个副本,虽然在谷歌搜索时我起初并没有因为措辞而找到它.
如果我没有在cookie中设置任何生命周期,那么cookie中的默认生命周期是多少?
例如
setcookie("cookiename", $value);
Run Code Online (Sandbox Code Playgroud)