我在想,将crossdomain.xml添加到应用程序服务器的根目录中是否存在安全问题?它可以添加到服务器的任何其他部分吗?您是否知道任何无需在服务器上放置此文件的解决方法?
谢谢 Damien
我在想,将crossdomain.xml添加到应用程序服务器的根目录中是否存在安全问题?它可以添加到服务器的任何其他部分吗?您是否知道任何无需在服务器上放置此文件的解决方法?
谢谢 Damien
对于跨域文件,没有任何解决方法,必须支持跨域数据访问或跨域脚本。在任何跨域请求事件中,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来执行此操作。请记住,此crossdomain的位置对您拥有的安全访问权限有任何影响。Flash仅授予包含crossdomain及其子文件夹的文件夹访问权限。
您可能还想了解Flash Player 10中的安全更改。
是的。在跨域策略文件方面一定要非常小心:
http://www.jamesward.com/2009/11/08/how-bad-crossdomain-policies-expose-protected-data-to-malicious-applications/
我的两个通用准则是:
crossdomain.xml 是一个对 Flash 运行时有意义的文件;你可以限制 HTTP 请求能够看到它的内容。你可以使用 Web 服务器(例如 Apache)的配置控制允许从“根”目录(请参阅上面的答案)仅读取它。
你也可以通过请求中的其他标头进行过滤等操作。
感谢阅读。