2009-12-20 39 views
1

我在App Engine上承載的AS3 AMF RemoteObject請求遇到問題。我在域的根目錄中有一個crossdomain.xml文件,在遠程端點上也有一個。Flex/AS3和AppEngine的安全沙箱問題

這裏有根crossdomain.xml的內容:

<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies ="all"/>
<allow-access-from domain="*.appspot.com"/>
<allow-access-from domain="*.{appid}.appspot.com"/>
<allow-access-from domain="*.{appid}.com"/>
<allow-access-from domain="*.{appid}.org"/>
</cross-domain-policy>

我已經取代我的應用程序的ID爲{} APPID。在端點crossdomain.xml中,它說明了完全相同的內容,但省略了<site-control>標記。

加載swf文件並在我的機器上測試它工作得很好......我認爲這可能與我使用調試版Flash Player有關。當我將其推送到App Engine以使其公開時,其他客戶端訪問它並獲得Client.Error.MessageSend Channel.Security.Error error Error #2048 url: http://05-alpha.latest.{appid}.appspot.com/_rpc/data

我正在使用Flex 4 beta和App Engine Python運行時。我嘗試了crossdomain中的完整通配符,甚至在相對URL中訪問數據端點以避免此錯誤。

有人請幫忙!提前致謝。

+0

嘗試添加端口將跨域策略爲好。 bhups 2009-12-21 09:57:41

+0

即使在crossdomain中有端口,我也會收到錯誤信息。它根本不需要跨域文件 - 它正在訪問託管域中的數據。 我甚至嘗試使用相對網址。還沒有什麼 – sgammon 2010-04-26 19:20:02

+0

你有沒有解決這個問題? – 2010-10-10 22:48:21

回答

0

此問題涉及Flex BuilderFlex Builder插件,用於Eclipse

如果你有網絡當你運行你的項目(一個非常有用的功能,讓你監控數據移動過線)上的監視,生成器會自動修改你的SWF通過一個服務器上運行,以將流量重定向到本地計算機上,以便你可以監控它。

要解決此問題,請在編譯項目時禁用網絡監視。

Adob​​e確實應該解決這個問題......很容易忘記監控已經開始,因爲大多數我認識的開發人員一直都在使用它。

有關網絡監視器的更多信息:http://anirudhs.chaosnet.org/blog/2009.06.01.html

+0

我還應該注意,這個問題與App Engine或Python無關......並且應該是未標記的 – sgammon 2010-12-05 20:15:49