时间长度没有严格的答案。空闲超时的限制取决于法规和可能的管辖法律。
PCI DSS 3.1 中对持卡人数据的基于会话的访问必须是“合理的”。第 8.1.8 项中的 PCI DSS 3.1 对此提供了具体指导
8.1.8 如果会话空闲超过15分钟,要求用户重新认证以重新激活终端或会话。
资料来源:https ://www.pcisecuritystandards.org/documents/PCI_DSS_v3-1.pdf
其他合规计划也存在类似的建议。根据数据敏感性上下文使其可配置和灵活可能是您最好的选择。
在我所知道的任何框架下都没有强制要求绝对超时,但它们看起来确实很有趣。用户体验影响可能很重要,但限制会话劫持持续时间的好处也很重要。这似乎是一个更好的解决方案 - 如果您控制应用程序代码 - 将是会话轮换(即:OWASP 术语中的更新超时),应用程序会定期生成一个新的会话 ID。
如果应用程序允许并且使用不超过 1 小时的续订超时,我建议进行续订超时。这大大降低了劫持风险,并且对于任何具有直接(小型且可手动复制)或可序列化会话状态的应用程序都应该是实用的。
如果绝对超时是您唯一的选择,我会将超时设为 24 小时。这是一个合理的限制,限制了惊喜。多天的绝对超时可能会使用户感到困惑,因为他们会将重新提示视为任意或可能表明应用程序失败。