[英]Flash and php session sharing?
我已經建立了一個網站,並在其中放置了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中嘗試使用Flash時,Flash獲得了正確的會話ID,但在Chrome中卻沒有。
您可以嘗試將cookie中存儲的會話標識符傳遞給嵌入式Flash,然后將Flash作為參數傳遞給服務器,以識別和初始化會話。
我大約5年前寫過:
http://www.rooftopsolutions.nl/blog/117
我的最終解決方案是使用備用令牌(出於安全性考慮,它與會話cookie不同)。 令牌將作為flashvar嵌入到標簽中。 然后,Flash Player將隨每個HTTP請求一起手動發送此令牌。
最后,在服務器上,我將令牌與真實的會話ID匹配,然后調用session_id()/ session_start()。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.