- 安全沙箱模型
安全沙箱是一个虚拟的概念,代表不同程序权限的环境。
不同的安全沙箱分配着不同来源的资源,主要包括数据,图像和各种文件。
比如本机文件就在本地沙箱中,来自Internet的资源在远程沙箱中。
使用只读属性Security.sandboxType就可知道当前运行的SWF文件属于哪个沙箱。
有四种类型:Security.REMOTE Security.LOCAL_WITH_FILE Security.LOCAL_WITH_NETWORK Security.LOCAL_TRUSTED
两条基本原则:1,位于相同安全沙箱中的资源始终可以互相访问。 2,远程沙箱中的SWF文件始终不能访问本地文件和数据。
任何不符合安全沙箱的代码行为,都会导致抛出SecurityError异常。
- 跨域文件:crossdomain.xml
一般放置在网站的根目录下。
1,当SWF文件试图向非本域的网址读取资源时,该网址所在域没设跨域安全文件,或者跨域安全文件中并不包括SWF文件所在域,在运行时就会发生SecurityError。
- 跨脚本访问
跨域文件授予文件访问权限,而Security.allowDomain()方法授予脚本访问权限。这个API授予的权限,主要包括下面4个部分:1,SWF文件之间的跨脚本访问。2,显示列表访问。3,事件检测。4,对Stage对象的属性和方法的完全访问。
Security.allowDomain(“*”);