apache-flex 安全沙箱违规无法从www.example.com加载数据box.net

8mmmxcuj  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(156)

我有一个应用程序,上传/下载文件到/从box.net。应用程序工作正常时,没有部署在服务器上,但当我部署在谷歌应用引擎遇到以下错误。
错误#2044:未处理的安全性错误:. text=错误#2048:安全沙箱违规:http://somexyz.appspot.com/xyzsample.swf无法从http://box.net/api/1.0/download/abcdef/123456加载数据。
我在as 3中包含了以下代码行。

Security.allowDomain("*");

并将crossdomain.xml放置在应用程序根文件夹(Google应用程序引擎)中,并且可以使用somexyz.appspot.com/crossdomain.xml访问该文件
crossdomain.xml包含以下行

<?xml version="1.0"?> 

<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"> 

<cross-domain-policy>

   <site-control permitted-cross-domain-policies="all"/>

   <allow-access-from domain="*" to-ports="*"/>

   <allow-http-request-headers-from domain="*" headers="*"/>

   <allow-http-request-headers-from domain="*"/>

</cross-domain-policy>

当我尝试使用tomcat时,我也遇到了同样的问题。

ie3xauqp

ie3xauqp1#

如果您从www.example.com加载box.net,则需要检查http://box.net/crossdomain.xml
你可以看到以下内容:

<!--
Box has recently changed its crossdomain policy for API calls made from Flash.
To continue using Box API, please add the following line to the code of your Flash
application:
- AS2: System.security.loadPolicyFile("http://www.box.net/api/crossdomain.xml");
- AS3: Security.loadPolicyFile("http://www.box.net/api/crossdomain.xml");
-->

更新

请确保正确添加:

Security.loadPolicyFile("http://www.box.net/api/crossdomain.xml")

并且在加载时:


* .load('http://www.box.net/api/1.0/download/abcdef/123456');

以便服务器的路径相同:网址:http:www.box.net/
对于闪存,http://www.box.net/http://box.net/是两个不同的域名。

相关问题