【问题标题】:Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation:错误 #2044:未处理的安全错误:。文本=错误 #2048:违反安全沙箱:
【发布时间】:2010-02-27 19:43:49
【问题描述】:

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

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>

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

【问题讨论】:

    标签: xml apache-flex actionscript-3 flash flex4


    【解决方案1】:

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

    【讨论】:

    • James 我现在确实在我的网站上有一个重定向。当您键入 mysite.com 时,它会将您重定向到 mysite.com/folder1/demo/demo.htm 这可能与它有关吗?
    • 上述错误信息中的域名是否准确?从 mysite.com 加载的 SWF 应该始终能够访问 mysite.com 上的数据,而无需任何跨域策略文件。此外,您应该从您的应用程序中删除 Security.allowDomain 行。他们在这种情况下不会做任何事情,并且可能会使您面临安全漏洞。
    猜你喜欢
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 2011-07-06
    相关资源
    最近更新 更多