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

时间:2012-01-04 11:41:41

标签: php session

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

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

4 个答案:

答案 0 :(得分:59)

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

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

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

session_id($whatever_id_you_have);
session_start();
echo $_SESSION['somekey'];

答案 1 :(得分:1)

$_SESSION正是您要找的。请务必先致电session_start()。见http://php.net/session.examples.basic

答案 2 :(得分:1)

var_dump($_SESSION);将显示当前会话的内容,然后您可以像访问普通数组一样访问这些值。

答案 3 :(得分:0)

您可以使用此功能检查所有会话值..

print_r($_SESSION);