【问题标题】:Flash Security Exception in URLLoader (subdomain issue)URLLoader 中的 Flash 安全异常(子域问题)
【发布时间】:2010-11-16 22:10:12
【问题描述】:

我正在制作一本 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,就会出现错误。可能与浏览器自身的安全策略有关。

【问题讨论】:

  • 将您的 allowScriptAccess 更改为“always”,而不是“sameDomain”。域匹配似乎是您的主要问题......

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


【解决方案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

【讨论】:

  • 你把跨域放到根目录了吗?它必须位于您网站所在的根目录中。此外,当我访问你的页面时,它给了我一个安全错误 #2170。这绝对是一个安全沙箱错误。但是如果没有看到你的代码,很难猜出哪里出了问题。这是一篇关于安全错误的文章:help.adobe.com/en_US/air/reference/html/runtimeErrors.html
  • 现在,当我转到任一链接时,我都会遇到同样的错误。尝试将您的跨域行从 .mydomain.com 更改为:
  • 这将允许从任何域访问您的内容到 SWF。如果这可行,那么您只需要找到正确的通配符“”组合即可进行分配。有时 ".*" 效果很好。
  • 尝试将您的跨域更改为:ttp://www.macromedia.com/xml/dtds/cross-domain-policy.dtd" rel="nofollow" target="_blank">macromedia.com/xml/dtds/cross-domain-policy.dtd">
  • 我做了,没用:(。它在根目录,www.lifelei.com/crossdomain.xml
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2014-04-04
  • 2016-07-13
  • 2012-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多