加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

跨域策略文件--crossdomain.xml

发布时间:2020-12-16 05:53:56 所属栏目:百科 来源:网络整理
导读:1、为什么需要采用 crossdomain.xml 文件? 跨域策略文件跨域策略文件是一种 XML 文档,旨在为 Web 客户端,比如 Adobe Flash Player 或 Adobe Acrobat(但不限于这两类客户端)授予跨域处理数据的权限。当客户端请求获取特定源域上托管的内容、且该内容将请

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"?>rn"

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


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读