0

我在 localhost 上有一个 swf,它试图从另一台服务器(example.com)读取文本文件。文本文件位于如下子目录中:example.com/test/example.txt

首先这里是根目录和子目录的内容:

www.example.com:

/crossdomain.xml

<?xml version="1.0"?>   
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="*" secure="false" />
</cross-domain-policy>

/test/crossdomain.xml

<?xml version="1.0"?>   
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*"/>
</cross-domain-policy>

/test/example.txt

现在,如果我在我的动作脚本中明确提及如下:

Security.loadPolicyFile("http://example.com/test/crossdomain.xml");

然后在 actionscript 中加载:http ://example.com/test/example.txt。现在第一个操作应该是检查根目录下的主策略文件,以检查其元策略是否允许从测试文件夹加载 crossdomain.xml。由于这里的元策略指定“仅主”,我假设 security.loadpolicyfile() 指定的策略文件不会被加载。但我的问题是,在此检查之后,主策略文件是否会因为主策略文件中指定的策略而允许来自测试文件夹的文本文件的访问请求<allow-access-from domain="*" secure="false" />

4

1 回答 1

0

根据 Adob​​e 跨域策略规范,

  1. swf 看到指定了跨域策略。
  2. 它检查主策略文件以查看是否允许指定的策略文件。
  3. Since the specified master policy file is not permitted, it DEFAULTS to load the master policy file and grant permission accordingly.
于 2013-04-23T22:40:55.530 回答