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


PHP - If I know the session_id, how to get session variables

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

当swf发布参数时,我的PHP脚本不知道任何会话变量。肯定是Flash和它发送的cookie有什么问题。

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

可以使用session_id():

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

PHP中的代码大致如下:

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

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