PHP - 如果我知道session_id,如何获取会话变量

时间:2013-03-16 16:52:08

标签: php cakephp-1.3

我有一个PHP站点,但有一部分使用flash上​​传swf将文件和一些参数发布到PHP脚本。

当swf发布参数时,我的PHP脚本不知道任何会话变量。必须是Flash的时髦和它发送的cookie。

无论如何,我可以尝试在flash中修复它,但我认为更简单的方法是简单地在post参数中传递session_id。但是,一旦我在PHP脚本中收到此session_id,我就不知道如何使用它来查找我真正想要的会话变​​量(例如$_SESSION['username'])。我不想将$_SESSION['username']作为POST参数传递,因为我认为这会带来太大的安全风险。长期随机session_id似乎要好得多。

1 个答案:

答案 0 :(得分:3)

您可以使用session_id()

  

string session_id ([ string $id ] )
session_id()用于获取   或设置当前会话的会话ID。

vanilla PHP中的代码大致如下所示:

<?php

if( isset($_POST['session_id']) ){
    session_id($_POST['session_id']);
    session_start();
}

不确定与CakePHP集成是否容易。