【问题标题】:Annoying Error #2048: Security sandbox violation from localhost恼人的错误 #2048:来自 localhost 的安全沙箱违规
【发布时间】:2013-06-28 21:09:34
【问题描述】:

这是我放在 Web.config 同一个文件夹中的 crossdomain.xml:

<?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) 通信时,它说:

错误 #2048:违反安全沙箱:http://localhost:52090/Content/Swf/MyApp.swf 无法从 localhost:52090 加载数据

我该如何解决?

【问题讨论】:

    标签: asp.net-mvc actionscript-3 flash apache-flex crossdomain.xml


    【解决方案1】:

    由于您使用基于Socket 的as3httpclientlib,而不是URLLoader,因此您应该设置套接字策略服务器而不是http (因此在这种情况下,您的crossdomain.xml 不会被flash 使用)。

    要设置 Flash 策略服务器,您可以使用本文 http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html 中的 perl 脚本和 @Bart Friederichs 建议的策略 xml(带有 to-ports 属性)

    【讨论】:

      【解决方案2】:

      试试这个:

      <?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。

      【讨论】:

      • 没有用。我正在使用这个库进行安静的通信:code.google.com/p/as3httpclientlib
      • 对不起,那帮不了你了。我所知道的是,XML 应该由服务器在&lt;policy-file_request/&gt; 上发送。使用wireshark左右确保是这种情况。
      猜你喜欢
      • 2011-07-06
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多