使用PHP访问非当前用户会话数据

时间:2010-01-02 04:53:27

标签: php session nonclient

是否可以访问其他用户会话中的数据,而不是当前连接的客户端($ _SESSION)处于活动状态的会话?

若然,怎么样?

3 个答案:

答案 0 :(得分:2)

是的,但这将是一个黑客。您必须查看会话存储机制并直接读取它。我相信默认情况下它是文件,存储在/tmp中。

如果您需要更加准确,请考虑定义自己的会话存储机制,然后提供exta钩子来完成您想要的任务。

http://www.php.net/manual/en/function.session-set-save-handler.php

答案 1 :(得分:1)

是的,在session_start()之前调用session_id()并指定您感兴趣的ID。同样的函数也会返回当前会话ID,您可以在其他地方记录或传递。您可以通过关闭会话,设置新ID并重新启动来多次执行此操作。它将透明地提供访问($ _SESSION)。请记住将其设置回来,因为它会更新会话ID cookie。

答案 2 :(得分:0)

您可以通过设置会话ID来检索会话数据:

http://example.com/index.php?PHPSESSID=1234

其中1234 是会话ID