AS3 沙箱

沙箱也称之为安全域,今日对安全域做一个整理:

一 , 信任授权

1, 不同域中的SWF(可执行文件)


尽管安全域只允许相同域下的通讯,但是我们可以使用授信(Security.allowDomain或Security.allowInsecureDomain)来解决2个不同域的通信问题。

注意 : 授信是单向的,举个例子: A和B。A向B授信,自然B是可以访问A的,但是此时的A是不能访问B的,如果要使A能够访问B,应该让B向A授信。

现在用Security.allowDomain为例,来讲解授信。

① : Security.allowDomain("*"); //此种授信方式是很危险的,意味着任何其他域都能访问其功能。

② : 假设你只想让http://www.51cto.com/可以访问本域的话 :  Security.allowDomain("http://www.51cto.com/"); //这种方式相对比较安全。如果你还想让

http://www.baidu.com可以访问此域,只要并列加一句 : Security.allowDomain("http://www.baidu.com");

如:

Security.allowDomain("http://www.51cto.com/"); 
Security.allowDomain("http://www.baidu.com");

2,调用另一个域中的不可执行文件(图片 , 音乐 , 文本等等)

这类文件,不能使用Security.allowDomain或Security.allowInsecureDomain,这个时候需要用到另外一种方案:跨域文件。跨域文件文件名已经固定(crossdomain.xml),

这种文件,放在服务器(http或者socket服务器根目录)之下,这样服务器才能和SWF正常的通信。

现在给出一个跨域文件的例子:

<?xml version="1.0"?>
<cross-domain-policy>
    <sity-control permitted-cross-domian-policies="by-content-type"/>
    <allow-access-from domain="http://www.51cto.com/"/>
    <allow-access-from domain=">
</cross-domain-policy>

此处不可执行文件又有一个分类

①:本身就是数据类文件 如:文本文件 , 二进制文件 , XML文件等等

如果没有跨域文件,这类的文件根本就不会被加载。

②:除了数据类文件还有声音文件和图片文件等

这类文件在没有跨域文件的情况下 , 是会被正确加载的,还可以显示出来 , 但是BitmapData.draw是不能使用的,原因是SWF没有对这个文件形成引用,

要是用跨域文件才行。这个一定要注意。因为,你加载的图片显示出来了,有不能使用API操作它们,这就尴尬了。

时间: 2024-10-10 16:46:16

AS3 沙箱的相关文章

[ActionScript 3.0] AS3 深入理解Flash的安全沙箱Security Domains

简介 如果你还没有与复杂的的安全域(security domain)和应用程序域(application domain)问题打过交道,那么你真是个幸运的家伙.当你在加载外部内容(然后他们开始播放)的时候,默认的设置工作的很好,你甚至不知道他们的存在. 但是某些时候你可能需要控制默认设置以外的更多行为和功能,这样你就会遇到前面所说的问题.你也许会困扰于Security.allowDomain和crossdomain.xml文件的区别,又或者你想要深究关于安全性的最佳实践.如果是这样,那么这篇文章就

AS3 ApplicationDomain

ApplicationDomain为AS3的应用程序域.它和安全域(沙箱)还是有区别的. 应用程序域有三种类型:系统域子域(新的应用程序域).当前应用程序域.当前应用程序域的子域.他们的关系就像是这样: 详解: ApplicationDomain 类的用途是存储 ActionScript 3.0 定义表.SWF 文件中的所有代码被定义为存在于应用程序域中. 可以使用应用程序域划分位于同一个安全域中的类.这允许同一个类存在多个定义,并且还允许子级重用父级定义. 利用ApplicationDomai

【AS3 Coder】任务七:初涉PureMVC——天气预报功能实现

转自:http://www.iamsevent.com/post/36.html AS3 Coder]任务七:初涉PureMVC——天气预报功能实现 使用框架:AS3任务描述:了解PureMVC框架使用方式,了解普通AS3使用HTTP请求进行网络交互的方式,理解PureMVC框架设计思想难度系数:2 本章源码下载:http://www.iamsevent.com/zb_users/UPLOAD/learnPureMVC1/WeatherTest.rar 最近在讨论群里经常有看见有新手想学习Pur

as3.0 TextField中单行文字内容垂直居中

在开头,先首说一下TextField中单行文字空间是怎样的.图如下 从图中可以看到,当为文字设定像素大小时,我们都可以从TextField中的文字空间信息取得两个信息Ascent与Descent,文字空间与边距的2px一般是固定的.所以如果我们想在TextField中单行文字垂直居中的话,可以这样设定TextField的高度为Ascent+Descent+4px.具体在as3.0中的个人实现代码实例如下: package { import fl.controls.Label; import fl

NSFileHandle 、 沙箱机制 、 属性列表

1 使用NSFilehandle进行数据读写 1.1 问题 NSFileManager用于实现对文件的操作,而NSFileHandle是IOS提供的对文件内容(二进制数据)进行操作的类,例如数据的读写.数据追加.数据拷贝等.本案例演示使用NSFileHandle对文件数据进行基本的读写操作. 1.2 方案 首先使用NSFileManager创建一个文件,然后创建一个NSData类型的对象data,存储一个字符串数据,该数据就是需要写入文件的数据. 再使用方法fileHandleForWritin

java安全沙箱(三)之内置于Java虚拟机(及语言)的安全特性

java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及Java API 本篇博客主要介绍下"内置于Java虚拟机(及语言)的安全特性":其它几类安全机制会在后续博客中陆续介绍. 简介 jvm装载一个类,并且对字节码进行了四趟扫描,这些字节码就能安全地被执行了.然而去了这些安全校验,jvm在执行字节码时还进行了一些内置的安全机制校验.这些安全机制

[转]Flash、Flex、AS3.0框架及类库资源收集之十全大补

原文地址:http://www.d5power.com/portal.php?mod=view&aid=27 APIs.Libs.Components1.as3ebaylibhttp://code.google.com/p/as3ebaylib/2.as3youtubelibhttp://code.google.com/p/as3youtubelib/3.as3flickrlibhttp://code.google.com/p/as3flickrlib/4.Yahoo ASTRA Flash C

Java虚拟机-保险沙箱

Java虚拟机-安全沙箱 <Java虚拟机>-安全沙箱 学习了一下Java的安全机制,以前学习C++的时候好像就从来没有考虑过太多安全方面的问题,一些代码方面的安全问题,诸如指针.内存什么的考虑过,但是整体的安全性基本无视,学习了这一章还是有蛮多收获. 沙箱 组成沙箱的四个组件: 类装载器 class文件检验器 Java虚拟机内置的安全特性 安全管理器 类装载器 通过命名空间隔离类,使不同命名空间的类不会互相访问(显示指定了访问方式的例外),解决了类的访问范围问题,如下图: 类的加载(装载)顺

AS3操作XML文件

好久没有写AS3程序了...马丹连个xml读取都不会了快.. 下面是一个很好的例子,自己使用Flex biulder刚写的: 代码如下: package { import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; public class TestXml extends Sprite { private var lod:URLL