非根目录中的Flash crossdomain.xml

非根目录中的Flash crossdomain.xml,flash,crossdomain.xml,Flash,Crossdomain.xml,我有一个运行在其中的web服务,Flash可以从不同的域访问该服务。我将跨域策略文件部署到,并使用以下方法使闪存加载: flash.system.Security.loadPolicyFile("http://server/abc/crossdomain.xml"); 在主电影剪辑的构造器中。但是,当Flash启动时,它会请求并加载该文件(在Firebug中观察到),但随后它也会从不存在的服务器根目录(即从)请求该文件。后续HTTP请求无法报告跨域安全错误。当我将策略文件放在服务器的根目录下

我有一个运行在其中的web服务,Flash可以从不同的域访问该服务。我将跨域策略文件部署到,并使用以下方法使闪存加载:

 flash.system.Security.loadPolicyFile("http://server/abc/crossdomain.xml");
在主电影剪辑的构造器中。但是,当Flash启动时,它会请求并加载该文件(在Firebug中观察到),但随后它也会从不存在的服务器根目录(即从)请求该文件。后续HTTP请求无法报告跨域安全错误。当我将策略文件放在服务器的根目录下时,一切正常

为什么它从根目录请求策略文件,甚至从子目录加载策略文件?为什么子目录策略文件不够


我还应该注意,这两个策略文件是在发出任何应用程序HTTP请求之前加载的。

我认为必须验证主策略文件是否允许备用策略文件设置权限

:

如果指示客户端在主策略文件以外的位置使用策略文件,则客户端必须首先检查主策略文件的元策略,以确定是否允许使用原始策略文件


我认为它必须验证主策略文件是否允许备用策略文件设置权限

:

如果指示客户端在主策略文件以外的位置使用策略文件,则客户端必须首先检查主策略文件的元策略,以确定是否允许使用原始策略文件


策略文件必须位于服务器的根Web目录中。这是为了确保可能控制服务器上的子文件夹的人不能运行“官方”网站(如根)不支持的策略。

策略文件必须位于服务器上的根Web目录中。这是为了确保可能控制服务器上子文件夹的人不能运行“官方”网站(如root)不支持的策略。

+1感谢您的链接。我必须承认我没有读过跨域策略文件规范。我只是阅读了Flash的帮助,我想没有提到它。+1谢谢你的链接。我必须承认我没有读过跨域策略文件规范。我只看了Flash帮助,我想它没有提到。