Flex和crossdomain.xml

时间:2008-09-19 12:27:58

标签: flex security crossdomain.xml

我想知道将crossdomain.xml添加到应用服务器的根目录有什么安全问题吗?是否可以将其添加到服务器的任何其他部分,并且您是否知道任何不需要服务器来安装此文件的解决方法?

由于 达明

5 个答案:

答案 0 :(得分:10)

通过添加crossdomain.xml,主要的安全问题是Flash应用程序现在可以连接到您的服务器。因此,如果有人登录您的网站,然后浏览到另一个带有恶意Flash应用程序的网站,该Flash应用程序可以连接回您的网站。由于它位于浏览器中,因此cookie将与Flash应用程序共享。这允许Flash应用程序劫持用户的会话以执行您的网站所做的任何事情,而无需用户知道。

如果您的flex应用程序是从同一台服务器提供的,则不需要crossdomain.xml

您可以将其放在网站的子目录中并使用System.security.loadSecurityPolicy()

http://livedocs.adobe.com/flex/2/langref/flash/system/Security.html

然后,应用程序将仅限于目录结构的树。

答案 1 :(得分:1)

跨域文件没有解决方法,需要支持跨域数据访问或跨域脚本。如果出现任何跨域请求,Flash将在域的根目录中查找crossdomain.xml文件。例如,如果您从以下位置请求XML文件:

http://mysubdomain.mydomain.com/fu/bar/

Flash将检查是否存在crossdomain.xml文件:

http://mysubdomin.mydomain.com/crossdomain.xml

您可以将crossdomain.xml文件放在其他位置。但是,当您需要从其他位置加载crossdomain.xml文件时,必须通过Security.loadPolicyFile执行此操作。请记住,此跨域的位置会对您拥有的安全性访问产生任何影响。 Flash只会授予对包含跨域及其子文件夹的文件夹的访问权限。

您可能还想阅读security changes in Flash Player 10

答案 2 :(得分:0)

您可以为应用程序配置虚拟主机。这样,文件crossdomain.xml可以位于应用程序的根目录下,但不一定位于服务器的根目录下。

答案 3 :(得分:0)

是。对跨域策略文件要非常小心:
http://www.jamesward.com/2009/11/08/how-bad-crossdomain-policies-expose-protected-data-to-malicious-applications/

我的两条经验法则是:

  • 不要将跨域策略文件放在使用cookie的服务器上
  • 不要在内部服务器上放置跨域策略文件

答案 4 :(得分:-1)

crossdomain.xml只是一个对Flash运行时有意义的文件;您可以限制HTTP请求查看它。您可以使用Web服务器(例如Apache)配置控件来允许从“root”目录对其进行读取(并且只允许它)(参见前面的答案)。

您可以按请求中的其他标题进行过滤等。

干杯