2024年4月18日发(作者:)
第28章 Flash网络应用程序
沙箱安全和部署
使用Flash开发的网络应用程序必须十分注意应用程序的安全,为此,Flash
Player建立了严格的沙箱,该沙箱根据资源的拥有者来限制网络应用程序要加载
的资源,这是最基本的安全原理。
注意,这个沙箱是位于客户端的沙箱,它用于过滤客户端所要执行的资源,
这是一个最基本的理解沙箱的基础。
28.1 资源的拥有者
在网络上,每一个资源都有自己的拥有者,拥有这些资源的用户可以对其自
己的资源进行控制(安全设置)。一般来说,每种资源有4个持有者。Flash Player
对这些控制严格采用一种权利层次结构,如图28-1所示。
客户端管理员设置
用户设置
网站设置
作者设置
图28-1 安全控制层次结构
首先是客户端的管理员,他可以使用“全局Flash Player信任”目录来设置
计算机的权限,然后是“用户Flash Player信任”目录来设置用户自己的权限。
第28章 Flash网络应用程序沙箱安全和部署
如果要加载网站上的资源,则网站管理员会使用策略文件加以限制。最后,要加
载某个SWF文件,则该文件的创作者也可以设置该文件的权限,以定义是否允
许被加载。
28.2 安全沙箱
客户端计算机中的Flash Player可以从很多来源(如外部Web站点或本地文
件系统)中获取SWF文件。当SWF文件及其他资源(如共享对象、位图、声音、
视频和数据文件)被加载到Flash Player中时,Flash Player会根据这些文件和资
源的来源单独地将其分配到安全沙箱中。
有两个基本的沙箱类型:远程沙箱和本地沙箱,其中本地沙箱还可以被细分
为3个沙箱类型。
28.2.1 远程沙箱
Flash Player将来自Internet的资源(包括SWF文件)分类到单独的沙箱中,
这些沙箱与各自Web站点原始域相对应。
默认情况下,对这些文件授予访问其自身所在服务器中任何资源的权限。如
果要访问其他域中的资源,必须获得Web站点的许可(通过“跨域策略文件”)
和创作者的许可(通过omain方法)。
28.2.2 本地沙箱
远程SWF文件无法加载任何本地文件或资源,但本地SWF文件却有可能既
能加载本地文件或资源,也能加载来自Internet的资源。
“本地文件”是指通过使用file协议或统一命名约定(UNC)路径引用的任
何文件。本地SWF文件被放置在3个本地沙箱中的一个内。
(1)只能与本地文件系统内容交互的沙箱。出于安全性考虑,Flash Player
在默认情况下将所有本地SWF文件和资源放置在只能与本地文件系统内容交
互的沙箱中。通过此沙箱,SWF文件可以读取本地文件(例如通过使用
URLLoader类),但是它们无法以任何方式与网络进行通信。这样,可向用户
保证本地数据不会泄漏到网络或以其他方式不适当地共享。
(2)只能与远程内容交互的沙箱。编译SWF文件时,可以指定该文件作为
本地文件运行时拥有网络访问权限。这些文件放置在只能与远程内容交互的沙箱
中。分配到只能与远程内容交互的沙箱中的SWF文件将失去其本地文件访问权
733


发布评论