3

我已经创建了一个跨域策略文件,我已经向我的 flex 应用程序添加了代码,但我仍然违反了安全沙箱……我做错了什么吗?这是我的错误和文件片段:

Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://mysite.com/folder1/folder2/media/swf_demo.swf cannot load data from http://mysite.com/folder1/folder2/media/locXML.xml.

swf_demo.swf is my flex application

以下行已添加到我的 flex 应用程序中:

Security.allowDomain("mysite.com");
Security.allowDomain("www.mysite.com");
Security.allowDomain("http://mysite.com/folder1/folder2/media/locXML.xml");

在我的 init() 函数中,我的第一行是:

Security.loadPolicyFile("http://mysite.com/crossdomain.xml");

这是我的crossdomain.xml:

<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
<allow-access-from domain="www.mysite.com" secure="false"/>
</cross-domain-policy>

为什么会抛出这个错误?我一定是做错了什么...

4

1 回答 1

1

在跨域安全方面,www.mysite.com 和 mysite.com 是不同的站点。如果您的 SWF 与您的数据在同一个站点上,那么您不需要 crossdomain.xml 策略。我建议将用户从 mysite.com 重定向到 www.mysite.com,这样所有内容都来自同一个站点,并且不需要任何策略文件。

于 2010-02-27T20:43:49.223 回答