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

PHP:从恢复的会话获取会话变量,php,Php,我有一个PHP,它可以被一个不存储任何cookie的机器人访问。会话ID可以从_POST变量还原。我的理解是,在我从会话ID恢复会话后,$\u会话在这种情况下无法访问会话变量,因为cookie被禁用 确切地说,会话是由用户启动的。这个PHP页面将只接收来自bot的一个POST请求,并将用户的会话ID作为参数传递。我需要“恢复”此会话,并检查用户会话中存储的内容 bot将丢弃发送给它的任何信息 是否有其他方法检索会话变量?是的,有一种方法。使用INI设置会话。使用会话ID(设置为“1”)将向所有输

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

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

bot将丢弃发送给它的任何信息


是否有其他方法检索会话变量?

是的,有一种方法。使用INI设置会话。使用会话ID(设置为“1”)将向所有输出的URL追加一个包含会话ID的查询字符串,从而消除对cookie的需要。

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

有什么理由机器人不能储存饼干吗?几乎任何脚本语言都应该能够处理cookies。@GordonBailey它就是这样设计的。我无法更改bot。会话数据(默认情况下)存储在服务器的磁盘上,只是在cookie中发送id。你能不能先调用session_id($_POST['my_sess_id']),然后再调用session_start()?这应该行得通……似乎行不通。确切地说,会话是由用户启动的。这个PHP页面将只接收来自bot的一个POST请求,并将用户的会话ID作为参数传递。我需要“恢复”此会话并检查存储在用户会话中的内容。“bot”很可能会丢弃发送给它的任何信息。在这种情况下…
session\u id($\u POST['botsession')它确实有效…两个脚本都是从同一个php.exe/ini组合运行的,对吗?还要注意的是,您必须在会话id之后而不是之前调用会话启动。不,它不是。我发现我必须阅读会话文件并使用会话解码使其工作。