如何使用会话ID获取会话变量

Man*_*gir 22 php session

我有我的应用程序的会话ID.现在我想通过使用此会话ID获取所有会话变量.

我曾经<?php echo session_id()?>获得会话ID,但是如何使用此会话ID获取所有会话对象值?

Jer*_*ris 61

根据php.net:有几种方法可以将现有会话ID泄露给第三方.泄露的会话ID使第三方能够访问与特定id相关联的所有资源.首先,携带会话ID的URL.如果链接到外部站点,则包含会话ID的URL可能会存储在外部站点的引用者日志中.其次,更活跃的攻击者可能会收听您的网络流量.如果未加密,则会话ID将通过网络以纯文本形式传输.这里的解决方案是在您的服务器上实现SSL,并使其成为用户必需的.

这就引出了一个问题,你如何拥有会话ID却无法访问脚本?

无论如何,您需要设置会话ID然后启动它...然后访问数据.

session_id($whatever_id_you_have);
session_start();
echo $_SESSION['somekey'];
Run Code Online (Sandbox Code Playgroud)

  • +1只有这个答案说明如何使用session_id获取会话数据. (7认同)
  • 当session.use_strict_mode设置为1或true时,不能使用session_id($ sid)设置当前会话的会话ID。http://php.net/manual/zh/function.session-id.php (2认同)