2013-06-28 56 views
3

這是我的crossdomain.xml,我把在我Web.config同一文件夾:惱人的錯誤#2048:安全沙箱衝突從本地主機

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="all"/> 
    <allow-access-from domain="*" secure="false" /> 
    <allow-http-request-headers-from domain="*" headers="*" /> 
</cross-domain-policy> 

雖然我可以加載使用Security.loadPolicyFile("http://localhost:52090/crossdomain.xml")

當我的SWF嘗試與本地的網站(asp.net的MVC),它說,comunicate:

錯誤#2048:安全沙箱衝突:HTTP:/ /本地主機:52090 /內容/ SWF/MyApp的.swf無法從本地主機加載數據:52090

我該如何解決這個問題?

回答

2

由於您使用的是基於Socketas3httpclientlib,而不是URLLoader您應該設置套接字策略服務器,而不是http一個(所以你crossdomain.xml不會在這種情況下,由Flash)。

要設置閃光燈策略服務器,你可以從本文http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html與策略XML通過@Bart Friederichs建議(與to-ports屬性)

1

試試這個:

<?xml version="1.0"?> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="all"/> 
    <allow-access-from domain="*" to-ports="*" /> 
</cross-domain-policy> 

另外,如果你自己發送,確保send a null-character到底。

+0

沒有工作使用perl腳本。我正在使用這個lib進行平靜的交流:https://code.google.com/p/as3httpclientlib/ – Fabricio

+1

對不起,不能幫助你進一步。我所知道的是XML應該由服務器在''上發送。確保這是使用wireshark左右的情況。 –

相關問題