跨域策略文件--crossdomain.xml

1、为什么需要采用 crossdomain.xml 文件

跨域策略文件跨域策略文件是一种 XML 文档,旨在为 Web 客户端,比如 Adobe Flash Player 或 Adobe Acrobat(但不限于这两类客户端)授予跨域处理数据的权限。当客户端请求获取特定源域上托管的内容、且该内容将请求定向至除自身域以外的其他域时,远程域需要托管跨域策略文件,从而授予源域的访问权限,使客户端继续执行事务。

为了使另一台 Web 服务器上托管的 Flash Media Player 能够访问该 Adobe Media Server Web 服务器中的内容,我们需要使用 crossdomain.xml 文件。典型用例是将 HTTP 流(视频点播或直播)传输到 Flash Player。crossdomain.xml 文件可为 Web 客户端授予跨越多个域处理数据所需的权限。

2、跨域文件内容

1)应用格式举例:

const string CROSS_DOMAIN_XML = "<?xml version=\"1.0\"?>\r\n"

"<cross-domain-policy>\r\n"
"<site-control permitted-cross-domain-policies=\"all\"/>\r\n"
"<allow-access-from domain=\"*.xxx.com\" secure=\"true\"/>\r\n"
"<allow-http-request-headers-from domain=\"*.xxx.com\" headers=\"*\" secure=\"true\"/>\r\n"
"</cross-domain-policy>\r\n";


2)举例:针对Socket的策略文件

<cross-domain-policy>

<allow-access-from domain="*" to-ports="507" />

<allow-access-from domain="*.example.com" to-ports="507,516" />

<allow-access-from domain="*.example2.com" to-ports="516-523" />

<allow-access-from domain="www.example2.com" to-ports="507,516-523" />

<allow-access-from domain="www.example3.com" to-ports="*" />

</cross-domain-policy>

这个策略文件是指定允许哪些域的主机通过那些端口链接


3、客户端请求跨域文件的方式(3种)

当封装在页面的flash发起socket通信请求的时候会先寻找服务器端的843端口,获取Crossdomain.xml文件,当服务器没有开启843的时候,flashPlayer会检查发起请求的swf文件中有没有使用Security.loadPolicyFile来加载策略文件Crossdomain.xml,如果还是没有就会看这个发起请求的swf要连接的目标端口有没有策略文件。如果都没有那么连接失败,返回出错提示Flash端显示错误为:securityErrorHandler信息: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]。


4、服务端提供跨域文件的方式(3种)

在服务器端,可以使用843端口提供crossdomain.xml文件;也可以使用其他端口提供该文件,但此时客户端需要使用Security.loadPolicyFile(“xmlsocket://www.xxx.com:其他端口”)请求。

另外一种对后台服务(直接提供socket侦听的服务)比较常用的一种实现是,在业务服务端口提供crossdomain.xml文件,即当业务服务端口接收到请求字符串“<policy-file-request/>”时,回复上面的CROSS_DOMAIN_XML 即可。


转自:http://www.69900.com.cn/Allan_Zeng/article/details/39348405

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

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇