我已经建立了一个网站,并在其中加入了一个Flash游戏。
对于玩游戏的人来说,他们必须登录网站。
登录网站将创建会话。我想让flash游戏获得会话ID,
所以我创建了一个获取会话ID的函数。它仅适用于Internet Explorer和
当我在Chrome中试用它时,它没有检索会话ID。
那么有什么帮助吗?
我已经写了一个php文件,as3将使用它获取会话ID,php代码是这样的:
<?php
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require('libraries/joomla/factory.php');
class session
{
public function getId()
{
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$user =& JFactory::getUser();
$user_id = $user->get('id');
//echo($user_id);
return $user_id;
}
}
?>
当我在IE中尝试使用闪光灯时,闪光灯获得了正确的会话ID,但在Chrome中却没有。
答案 0 :(得分:0)
您可以尝试将存储在cookie中的会话标识符传递给嵌入式Flash,然后将Flash作为参数传递给服务器,以识别和初始化会话。
答案 1 :(得分:0)
我在5年前写过这篇文章:
http://www.rooftopsolutions.nl/blog/117
我的最终解决方案是使用替代令牌(与会话cookie不同,以确保安全性)。令牌将作为flashvar嵌入到标记中。然后,Flash播放器将随每个HTTP请求手动发送此令牌。
最后,在服务器上,我会将令牌与真实会话ID匹配,并调用session_id()/ session_start()。