微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cross-domain 策略文件详解

crossdomain.xml最通常放置的地方是一个domain的root文件夹,flash player会认检测这个路径下的crossdomain.xml文件,这个root目录下的crossdomain.xml叫做master policy file,大家记住这个概念,下面会用到。

crossdomain.xml的Schema就是那个http://www.adobe.com/xml/dtds/cross-domain-policy.dtd,详细规定了crossdomain.xml每个节点的属性选项,大家可以自己去浏览。

crossdomain.xml的根节点必须是cross-domain-policy:

它包含三个子节点:site-control,allow-access-from,allow-http-request-headers-from
属性
节点介绍:

site-control
这个节点定义当前域的Meta-policy
Meta-policy决定这个域中除了master policy file以外哪些策略文件可以被client接受
如果这个策略文件并不是master policy file,site-control这个节点就会被忽略。
如果你用ActionScript指定使用某个非master policy file的策略文件,你必须先检查master policy file的这个子节点以确认你指定的那个policy file是被授权的。
site-control的属性permitted-cross-domian-policies有5个选项:none--任何policy file都不被允许,包括master policy file。master-only不用解释了。by-content-type--当HTTP头的Content-Type值为text/x-cross-domain-policy才被允许。by-ftp-filename--只有以文件名结尾的URL才被允许。all--不用介绍。认值是master-only,除了socket policy file,它的认值是all。


allow-access-from


allow-http-request-headers-from
===============================================

Adobe 强烈不推荐的允许所有资源访问的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="all"/>
<allow-access-from domain="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐