2010-01-04 72 views
0

我正在嘗試創建一個登錄系統,用戶可以在example.com上登錄一個flash遊戲,然後保留相同的登錄數據example.com上的所有遊戲以及foo.com和bar.world.com上的遊戲在多個域名和swf之間共享cookie /數據

我是Flash中的共享對象的新手,因此如果有人知道在php,as3,html中執行此操作的方法,JS(或所有的混合),那麼這將是偉大的。

(PS。我寧願不使用需要一個javascript橋檢索cookie,因爲這對於那些對遊戲門戶網站玩遊戲,其中僅使用一個swf文件是不可能的方法)

+0

我的意思是可以在https://www.mochigames.com/啓用遊戲中看到的一個例子。 – 2010-01-04 03:39:15

回答

2

這是AS3的解決方案。

檢查出文檔的SharedObject.getLocal的(),它在這裏:

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/SharedObject.html#getLocal()

當您創建的共享對象,你給它一個名稱和可選的「的localPath」,將localPath讓你使其可以從多個swf訪問。

以下代碼將使共享對象可用於該域中的所有swfs。

var so:SharedObject = SharedObject.getLocal('loginInfo', '/'); 

安全模型明確禁止在多個域之間共享SharedObject。您可以創建一個swf來處理SharedObject,並在運行時從example.com加載它。這將解決安全問題。

+0

我不明白你最後一點的意思, 那麼mochiads會怎麼做呢?使用他們的包裝來包裝實際的遊戲,因此遊戲在技術上仍然處於相同的領域? – 2010-01-05 05:46:22

+0

有兩種方法可以做到這一點: 1.從example.com加載一個包裝器,然後從whereever.com加載遊戲。 2.從wherever.com加載遊戲並在遊戲中加載example.com的登錄模塊。你可能不得不使用一些安全措施,但我認爲它會起作用。 – ablerman 2010-01-05 17:19:32