·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3跨域安全沙箱crossdomain规则的经验笔记

时间:2012-12-01 22:23cnblogs.com
当与一个主机建立一个Socket连接时,Flash Player要遵守如下安全沙箱规则,Flash的.swf文件和主机必须严格的在同一个域名,只有这样才可以成功建立连接

  当与一个主机建立一个Socket连接时,Flash Player要遵守如下安全沙箱规则.
  1.Flash的.swf文件和主机必须严格的在同一个域名,只有这样才可以成功建立连接.
2.一个从网上发布的.swf文件是不可以访问本地服务器的.
3.本地未通过认证的.swf文件是不可以访问任何网络资源的.
4.你想跨域访问或者连接低于1024的端口,必须使用一个跨域策略文件.


如 果尝试连接未认证的域或者低端口服务,这样就违反了安全沙箱策略,同时会产生一个securityError事件.这些情况都可以通过使用一个跨域策略文 件解决.无论是Socket对象还是XMLSocket对象的策略文件,都必须在连接之前通过使 用 flash.system.Security.loadPolicyFile()方法载入策略文件.具体如下:
Security.loadPolicyFile("http://www.cuplayer.com/crossdomain.xml");
获 得的改策略文件不仅定义了允许的域名,还定义了端口号.如果你不设置端口号,那么Flash Player默认为80端口(HTTP协议默认端口).在<allow-access-from>标签中可以使用逗号隔开设置多个端口号.下 面这个例子就是允许访问80和110端口.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="80,110" />
</cross-domain-policy>

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器