7

我想知道将 crossdomain.xml 添加到应用程序服务器的根目录是否存在任何安全问题?可以将它添加到服务器的任何其他部分吗?您是否知道不需要服务器有此文件的任何变通方法?

谢谢达米安

4

5 回答 5

10

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

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

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

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

然后,应用程序将被限制在您的目录结构的树中。

于 2008-09-19T12:46:36.510 回答
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 将仅授予对包含跨域及其子文件夹的文件夹的访问权限。

您可能还想了解Flash Player 10 中的安全更改

于 2008-10-20T06:32:17.937 回答
0

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

于 2008-09-19T12:46:47.320 回答
0

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

我的两条一般经验法则是:

  • 不要将跨域策略文件放在使用 cookie 的服务器上
  • 不要将跨域策略文件放在内部服务器上
于 2010-06-23T12:39:57.503 回答
-1

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

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

干杯

于 2008-10-19T19:03:10.043 回答