Tag Archive: Flash


应用程序域

Application Domains 应用程序域

和安全域一样,不同安全沙箱下的SWF有着自己独立的类定义。这种在安全域下面进行划分和管理类定义(函数、接口和命名空间的定义也类似)的子域就是应用程序域。应用程序域只存在于安全域内,并且只能属于唯一的一个安全域。但是安全域可以包含多个应用程序域。

Application Domains in Security Domains
安全域内的应用程序域

虽然安全域沙箱用于保护数据安全,应用程序沙箱域用于划分定义。但是他们都用于解决定义的冲突和判断代码的继承关系。

安全域彼此之间是相互独立的,相比之下,应用程序域之间的关系则较为复杂。应用程序域通过类似于Flash中的显示列表那样的层级关系链接在一起。应用程序域可以包含任意的子域,而子域只能有一个父域。子域继承了来自父域中的定义,就像是显示列表中父对象的位置和缩放属性被子对象继承一样。

应用程序域的根节点是一个系统域,这个域包含了Flash Player API的原生定义(Array,XML,flash.display.Sprite等等)。系统域与安全域是一一对应的关系,当安全域初始化的时候这个唯一的系统域也被建立。 View full article »

今天终于有时间把senocular上关于安全域和应用程序域的教程好好看了一遍。觉得人家老外就是专业:内容非常有条理且完整,图文并茂,举例也非常实用,真是教程中的精品。刚好我最近也在整理这方面的知识,于是决定把这篇翻译出来,方便国内的读者。对想要进阶理解Flash的运行机制的朋友,本文是不可多得的好材料。

原文地址:http://www.senocular.com/flash/tutorials/contentdomains/

简介

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

安全域

Sandboxing 沙箱

沙箱是用于区分不同的数据和程序执行。沙箱对于安全性尤其重要。如果没有恰当的信任授权,两个位于不同沙箱内的内容应该没有任何交互。Flash Player的安全模型使用称为安全域的沙箱来分离内容。
虽然安全性是沙箱的主要用途,但这并不是唯一使用沙箱的原因。另外一种可能的情形是使用沙箱来避免命名冲突,这种区分代码的沙箱方式在Flash Player中被称为应用域

View full article »

FDT 4.0 Profiler Issue

FDT4.0测试版新增的Profiler是我最喜欢的功能之一,通过这一功能可以很方便的排查内存泄漏等问题。最近升级了M4版本后,调试时不能自动弹出播放器窗口的问题解决了。但是Profiler功能却总是没法连接到播放器。经过一番研究,终于发现问题出在Profiler调用的一个ProfilerAgent.swf文件的安全性限制上。在升级的时候,原先的信任路径没有被更新,造成ProfilerAgent没有权限执行。为了避免日后升级出现同样的问题,一劳永逸的方法是直接把eclipse的安装路径添加到信任策略文件上。

附上系统中信任策略文件的地址,关于Flash Player安全性方面的知识可以参看白皮书

Windows

  • For single-user (replace <user> with actual username):
    C:\Users\<user>\AppData\Roaming\Macromedia\Flash Player\#Security\FlashPlayerTrust\
  • For all users on the machine:
    C:\Windows\System32\Macromed\Flash\FlashPlayerTrust\

Mac

  • For single-user (replace <user> with actual username):
    /Users/<user>/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust
  • For all users on the machine:
    /Library/Application Support/Macromedia/FlashPlayerTrust

Happy FDTing!

ps. FDT M4改进了编译器,大大加快了编译速度,建议升级。

Powered by KevinCao.com ©2010 | Platform: WordPress | Theme: Motion
kevincao.com