宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3跨域传输数据的授权文件crossdomain.xml代码示例

2016-10-13 00:16:48 点击量:5 标签: 收藏本文

一、概述

位于www.mzwu.com域中的SWF文件要访问www.163.com的文件时,SWF首先会检查163服务器目录下是否有crossdomain.xml文件,如果没有,则访问不成功;若crossdomain.xml文件存在,且里边设置了允许www.mzwu.com域访问,那么通信正常。所以要使Flash可以跨域传输数据,其关键就是crossdomain.xml。

二、crossdomain.xml文件格式

crossdomain.xml的格式非常简单,其根节点为<cross-domain-policy> ,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。下边是两个例子:

 

程序代码
  1. <?xml version="1.0"?> 
  2. <cross-domain-policy> 
  3.     <allow-access-from domain="*.taobao.com" /> 
  4.     <allow-access-from domain="*.taobao.net" /> 
  5.     <allow-access-from domain="*.taobaocdn.com" /> 
  6.     <allow-access-from domain="*.tbcdn.cn" /> 
  7. </cross-domain-policy> 
程序代码
 
  1. <?xml version="1.0"?> 
  2. <cross-domain-policy> 
  3.   <allow-access-from domain="*" /> 
  4. </cross-domain-policy> 


第二个例子允许任何域的访问。对于crossdomain.xml文件存放位置,建议将其存放于站点根目录中!

三、示例

1.SWF文件主要Actionscrīpt:

 

程序代码
  1. on (release) {  
  2.     var myvar = new LoadVars();  
  3.     myvar.t = t2.text;  
  4.     myvar.sendAndLoad("http://www.163.com/test.asp",myvar,"post");  
  5.     myvar.onLoad = function(re){  
  6.         if(re){  
  7.             t1.text = myvar.t;  
  8.         }else{  
  9.             t1.text = "fail...";  
  10.         }  
  11.     }  


2.test.asp代码:

程序代码
 

  1. <%  
  2. Dim t  
  3. t = Request.form("t")  
  4. Response.write("t=" & t & " back!")  
  5. %> 

 

相关链接:

[AS3]swf如何和网页通信?附解决安全沙箱方法
[AS3]Flash安全沙箱——安全域和程序域的介绍和应用
[AS3]as3跨域传输数据的授权文件crossdomain.xml代码示例 
[AS3]主流网站crossdomain文件写法youku/tudou/ku6/taobao/163/QQ
[AS3]as3.0允许Flash跨域加载数据swf,jpg,xml等文件
[AS3]flash跨域策略文件crossdomain.xml配置分析说明
[AS3]AllowScriptAccess与allowNetworking的用法介绍
[AS3]as3.0关于LoaderContext详细介绍[安全沙箱相关]
[AS3]as3.0跨域加载外部图片外部xml的代码示例
[AS3]如何绕开AS3安全沙箱进行跨域加载SWF文件
[AS3]as3.0跨域加载外部图片外部xml的代码示例

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室