PHP:从恢复的会话中获取会话变量


PHP: Get session variables from a resumed session

我有一个PHP,不存储任何cookie的机器人可以访问它。可以从_POST变量恢复会话 ID。我的理解是,从会话 ID 恢复会话后,在这种情况下,$_SESSION 无法访问会话变量,因为 cookie 被禁用。

确切地说,会话是由用户启动的。此 PHP 页面将仅接收来自机器人的一个 POST 请求 - 用户的会话 ID 作为参数传递。我需要"恢复"此会话并检查用户会话中存储的内容。

机器人会丢弃发送给它的任何信息。

还有其他方法可以检索会话变量吗?

是的,有办法。利用 INI 设置session.use_trans_sid(将其设置为"1")会将包含会话 ID 的查询字符串附加到所有输出的 URL,从而消除对 cookie 的需求。

许多人建议使用 session_id(...) - 由于某种原因,这在我的设置上不起作用。相反,我的解决方案是读取会话文件并使用 session_decode(...) 填充 $_SESSION 变量,然后通过 $_SESSION 访问变量。