URLLoader中的Flash安全例外(子域问题)

时间:2010-11-16 22:10:13

标签: flash actionscript-3 security crossdomain.xml urlloader

我正在制作Flash杂志。当杂志加载时,它开始获取页面所需的所有图像。但是,我遇到了一个奇怪的安全问题:S。让我试着解释......

这就是服务器上所有设置的方式:

mydomain.com/view.html          <--- the main page that embeds /swf/theviewer.swf
mydomain.com/swf/theviewer.swf  <--- the magazine viewer

mydomain.com/img/img01.jpg      <-
mydomain.com/img/img02.jpg      <--
mydomain.com/img/img03.jpg ...  <--- all the images that the mag fetches

该杂志被“硬编码”以始终从'mydomain.com/img /*'获取图像。

如果我打开浏览器,然后导航到“http://mydomain.com/view.html”,一切都很顺利。

但是,如果我转到'http://WWW.mydomain.com/view.html',则查看器会抛出安全异常(URLLoader实际上会抛出它。)

有人可以帮我弄清楚发生了什么吗?

更新:

我已正确设置我的crossdomain.xml文件以允许* .mydomain.com

另外,我已将'allowScriptAccess'设置为sameDomain。 仍然有同样的问题。

还有另一件事,一对正在测试该网站的朋友说,当用Firefox打开网站时,这不会发生(一切都很好),但是如果我使用Firefox,则会出现错误。也许它与浏览器自己的安全策略有关。

1 个答案:

答案 0 :(得分:1)

您可能遇到跨域安全问题。由于域根相同,但其中一个不包括“www”,因此很可能SWF(或您的html / javascript)将其视为不同的域,因为它不是完全匹配。

这是一篇关于我所谈论的内容的文章。 http://blancer.com/tutorials/30030/quick-tip-a-guide-to-cross-domain-policy-files/

此外,请确保将“allowScriptAccess”属性设置为“sameDomain”或“always”。这里有一篇相关的文章.. http://kb2.adobe.com/cps/164/tn_16494.html