Php Joomla如何重新生成会话ID以防止会话固定

Php Joomla如何重新生成会话ID以防止会话固定,php,session,joomla,joomla1.5,Php,Session,Joomla,Joomla1.5,约姆拉1.5.15 我需要在用户登录时更新会话ID,以防止会话固定,这在1.5.15中是可能的。我意识到我可以更新到最新版本,并且会被修复,但由于各种原因,我现在无法更新 我有一个处理登录的身份验证插件(我不使用#_u用户表),在我的插件中,我使用web服务对用户/通行证进行身份验证。我希望能够在插件的这一点上重新生成会话ID 我已经尝试过简单的session_regenerate_id(),它会更新它,但我丢失了所有会话数据,无法登录。我知道Joomla使用它自己的会话类,但我不知道是否有函数

约姆拉1.5.15

我需要在用户登录时更新会话ID,以防止会话固定,这在1.5.15中是可能的。我意识到我可以更新到最新版本,并且会被修复,但由于各种原因,我现在无法更新

我有一个处理登录的身份验证插件(我不使用#_u用户表),在我的插件中,我使用web服务对用户/通行证进行身份验证。我希望能够在插件的这一点上重新生成会话ID

我已经尝试过简单的session_regenerate_id(),它会更新它,但我丢失了所有会话数据,无法登录。我知道Joomla使用它自己的会话类,但我不知道是否有函数可以做到这一点

谢谢使用

它真正做的只是在后台执行
session\u regenerate\u id()
,但在执行此操作之前,它会先确保会话处于活动状态。您不应该因为这样做而丢失任何数据(如果这样做,可能会在某个地方出现错误)


对于Joomla 2.5和Joomla 3.5会话固定,您可以参考为

建议的解决方案,我强烈建议更新到1.5.22。自1.5.15以来的所有版本都是安全版本,您的站点易受攻击。尝试过此操作后,它确实更新了ID,但无法登录,会话数据似乎丢失。在插件if good user/pass中,我将响应状态设置为JAUTHENTICATE\u status\u SUCCESS,然后调用fork(),然后返回true以指示成功登录。@user5953:如果您不重新生成会话id,它会让您登录吗?
$session =& JFactory::getSession();
$session->fork();