Session 是否可以手动重新生成代码点火器会话?

Session 是否可以手动重新生成代码点火器会话?,session,codeigniter,Session,Codeigniter,如上所述:是否可以手动重新生成代码点火器会话?我在PHP会话中寻找类似于session_regenerate_id的东西,以便在用户经历权限提升时手动调用它 谢谢 LemiantCI每x秒自动重新生成会话id,您可以在配置中进行设置 您可以在Session.php中创建一个与sess_update()相同的新函数,但从顶部删除以下内容&该函数重命名为REGENATE_id() 这将重新生成会话id,更新用户活动并保留用户数据。只需通过$this->session->regenate_id()调用

如上所述:是否可以手动重新生成代码点火器会话?我在PHP会话中寻找类似于session_regenerate_id的东西,以便在用户经历权限提升时手动调用它

谢谢


Lemiant

CI每x秒自动重新生成会话id,您可以在配置中进行设置

您可以在Session.php中创建一个与sess_update()相同的新函数,但从顶部删除以下内容&该函数重命名为REGENATE_id()


这将重新生成会话id,更新用户活动并保留用户数据。只需通过$this->session->regenate_id()调用它即可

CI每x秒自动重新生成会话id,您可以在配置中进行设置

您可以在Session.php中创建一个与sess_update()相同的新函数,但从顶部删除以下内容&该函数重命名为REGENATE_id()


这将重新生成会话id,更新用户活动并保留用户数据。只需通过$this->session->regenate_id()调用它即可

我知道这是一篇老文章,但我偶然发现了它,所以其他人也可能会看到

您还可以执行以下操作,这样就不必对核心文件进行任何黑客攻击(使codeigniter在将来的版本中更易于升级):


感谢最初的答案引导我走上这条道路。

我知道这是一篇老文章,但我偶然发现了它,所以其他人也可能会看到

您还可以执行以下操作,这样就不必对核心文件进行任何黑客攻击(使codeigniter在将来的版本中更易于升级):

感谢最初的答案引导我走上这条道路,谢谢

// We only update the session every five minutes by default
if (($this->userdata['last_activity']+$this->sess_time_to_update) >= $this->now)
{
return;
} 
//Setting this to 0 forces the sess_update method to regenerate on the next call
$this->session->sess_time_to_update=0;
//Call the sess_update method to actually regenerate the session ID
$this->session->sess_update();