|
在 Web 浏览器中运行的应用程序只能与用户的本地文件系统进行有限的交互。Web 浏览器会实施安全策略,用于确保用户的计算机不会由于加载 Web 内容而被破坏。例如,通过 Flash Player 在浏览器中运行的 SWF 文件无法直接与用户计算机中的文件进行交互。可以将共享对象写入用户的计算机,以便维护用户首选参数和其他数据,但文件系统交互将受到此限制。由于 AIR 应用程序安装在本地,因此它们与最终用户之间有不同的安全协议。应用程序与最终用户之间的这一协议是在安装时建立的,就像本机应用程序一样,其中包括应用程序在本地文件系统中读取和写入的功能。
这一灵活性要求开发人员担负较高的责任。意外的应用程序安全漏洞不仅会危害应用程序的功能,而且会危害用户计算机的完整性。开发人员文档中包括介绍最佳做法的 AIR 安全性信息。
除非用户计算机应用了管理员限制,否则 AIR 应用程序有权写入用户硬盘上的任意位置。但是,建议开发人员使用运行时为每个应用程序提供的特定于用户和特定于应用程序的应用程序存储目录。利用 AIR API,开发人员可以方便地读取应用程序存储目录中的数据和向其中写入数据。该运行时还为每个应用程序和用户提供唯一的加密本地数据存储区域。这允许应用程序以加密格式保存和检索存储在用户本地硬盘上的数据,其他应用程序或用户无法解密这些数据。为每个 AIR 应用程序使用一个单独的加密本地存储区,每个 AIR 应用程序为每个用户使用一个单独的加密本地存储区。应用程序可以使用加密的本地存储来存储必须保护的信息,如用于 Web 服务的登录凭据。AIR 使用 DPAPI(在 Windows 上)和 KeyChain(在 Mac OS 上)将加密的本地存储与每个用户相关联。加密的本地存储区使用 AES-CBC 128 位加密。
在 Adobe AIR 2 中,应用程序可以使用为文件类型注册的默认应用程序打开文件。例如,应用程序可以使用用于打开 mp3 文件的默认应用程序打开 mp3 文件。AIR 会阻止应用程序打开包含特定文件类型的文件。这些文件类型在打开时可能执行代码。Windows 中的 EXE 文件就是这种文件。
用于 Adobe Flash Platform 的 ActionScript 3.0 参考
中列出了受限制的文件类型。但是,使用本机安装程序安装的扩展桌面 AIR 应用程序可以打开任何类型的文件。(有关扩展桌面应用程序的信息,请参阅
与本机进程通信
。)
|
|
|