1

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

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

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

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

4

2 回答 2

2

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

于 2012-08-09T21:00:01.380 回答
0

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

于 2012-08-09T22:30:39.147 回答