我在本地主机上有一个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");

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

===============>>#1 票数:0 已采纳

根据Adobe Crossdomain政策规范,

  1. swf看到有指定的跨域策略。
  2. 它检查主策略文件,以查看是否允许指定的策略文件。
  3. 由于不允许指定的主策略文件,因此默认情况下将加载主策略文件并相应地授予权限。

  ask by ssn translate from so

未解决问题?本站智能推荐: