|
未分配给应用程序沙箱的内容可以为 AIR 应用程序提供其他脚本功能,但前提是满足运行时的安全条件。本节介绍 AIR 安全协议以及非应用程序内容。
AIR 应用程序限制脚本访问非应用程序内容比 Flash Player 浏览器插件限制脚本访问不受信任内容更严格。例如,在浏览器中的 Flash Player 中,SWF 文件可以调用
System.allowDomain()
方法,对从指定域加载的任何 SWF 内容授予脚本访问权限。 AIR 应用程序安全沙箱中的内容不允许调用此方法,以防止向非应用程序文件授予对用户文件系统的不合理访问权限。
通过脚本访问应用程序和非应用程序内容的 AIR 应用程序具有更复杂的安全安排。只允许应用程序沙箱外的文件使用
沙箱桥
来访问应用程序沙箱中的文件的属性和方法。沙箱桥充当应用程序内容与非应用程序内容之间的通道,在两个文件之间提供显式交互。如果使用正确,沙箱桥会提供额外的安全层,从而限制非应用程序内容访问属于应用程序内容的对象引用。
通过示例可以更好地说明沙箱桥的优点。假设 AIR 音乐商店应用程序需要为希望创建自己的 SWF 文件的广告商提供 API,商店应用程序可以使用这些文件进行通信。该商店需要为广告商提供在商店中查找艺术家和光盘的方法,另外出于安全原因,还需要将某些方法和属性与第三方 SWF 文件进行隔离。
沙箱桥可以提供此功能。默认情况下,在运行时从外部加载到 AIR 应用程序的内容无法访问主应用程序中的任何方法或属性。通过自定义沙箱桥,开发人员可以在不公开这些方法或属性的情况下为远程内容提供服务。沙箱桥在受信任和不受信任内容之间架起了一个有限通道。
有关使用沙箱网桥的完整详细信息,请参阅:
|
|
|