3

我在 Flash #2048 中有错误。我能找到的一切都表明这是一种安全预防措施,因为文件不在同一个域中。

我们有一个在 Rackspace 云服务器上运行的站点,现在正尝试使用云文件 CDN 来加速我们在站点上使用的产品轮换工具。您可以使用位于我们服务器上的文件以及我的演示来查看当前的工作工具,我在演示中切换了链接以反映云文件而不是本地文件。(编辑:我已经删除了演示站点的链接,因为它们不再相关。)

我发现的解决方案似乎是根据这个 stackoverflow question添加几行代码。

从上面的 Stackoverflow 问题的答案中,我实现了以下代码:

allowscriptaccess = "always"
allownetworking = "all"

如我们的模板文件中所述。我担心的是列出的修复程序的第一部分。

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

我相信它在 crossdomain.xml 文件中。我创建了这个文件并将其放在根文件夹中,并使用了此文档页面中的代码。我使用了以下代码。

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*" secure="false" />
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy> 

在这一切之后,我仍然收到错误#2048。我非常感谢您提供的任何帮助,谢谢!

4

1 回答 1

3

Thomas,您将 crossdomain.xml 放在哪个服务器上?

crossdomain.xml 文件属于提供数据的服务器。因此,如果您的 Flash 应用程序正在您的服务器上运行,并且它尝试从其他域下载数据......其他域需要提供一个 crossdomain.xml 文件。

根据您在链接到的其他 StackOverflow 问题中的评论,听起来您将 crossdomain.xml 放在自己的服务器上。通过这样做,您是说托管在其他网站上的 Flash 应用程序可以从您的网站获取数据。相反,您需要在 CDN 站点上放置一个 crossdomain.xml 文件,该文件授权其他域(如您自己的)中的 Flash 应用程序访问 CDN 上的数据。

于 2013-01-31T21:30:45.120 回答