繁体   English   中英

在ajax请求中处理session_regenerate_id()

[英]Handling session_regenerate_id() in ajax requests

我想保护一点我的应用程序,特别是我想改进会话的处理方式。 所以,此刻我知道几个事实:

  1. session_regenerate_id(false)不会破坏旧会话
  2. session_regenerate_id(true)销毁旧会话。 使用普通页面重新加载使用session_regenerate_id(true)没有任何问题。

但是,在进行数十个并发 AJAX请求时,可能会出现导致错误消息object destruction failed

因此,没有什么可做的,然后在AJAX请求中使用session_regenerate_id(false)

但是,需要的是以某种方式标记先前过时的会话,这些会话由于调用session_regenerate_id(false)而变得过时,因为“僵尸”会话将以某种方式被破坏而不会丢失会话文件夹。

我需要一些关于如何实现这一点的实用建议。

所有会话清理(包括具有重新生成的ID的清理)都由PHP的会话垃圾收集器处理。 调用session_regenerate_id(false)从存储中删除旧会话时,没有什么特别需要。

适用于session.gc_probabilitysession.gc_divisorsession.gc_maxlifetime PHP设置

您还可以根据上次访问时间运行自己的会话存储清理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM