Изолированные программные средыFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий Клиентские компьютеры могут получать отдельные файлы, содержащие код, содержимое и данные, из ряда источников, включая внешние веб-сайты, локальную файловую систему или установленное приложение AIR. Среда выполнения Flash Player или AIR в индивидуальном порядке распределяет файлы с кодами и другие ресурсы, такие как общие объекты, растровые изображения, звуки, видео и данные, по изолированным программным средам безопасности на основе того, из каких источников они загружены. В следующих разделах описываются правила, предусмотренные в средах выполнения для управления тем, какие ресурсы доступны коду или содержимому в определенной изолированной программной среде. Дополнительные сведения о безопасности проигрывателя Flash Player см. в центре разработчиков Flash Player Developer Center в разделе «Безопасность» по адресу www.adobe.com/go/devnet_security_ru. Удаленные изолированные программные средыСреды выполнения Flash Player и AIR классифицируют ресурсы, получаемые из Интернета (включая SWF-файлы), и помещают их в разные изолированные программные среды в соответствии с их исходными доменами. Например, ресурсы, загруженные с домена example.com и с домена foo.org будут помещены в разные изолированные программные среды безопасности. По умолчанию этим файлам разрешен доступ к любым ресурсам, находящимся в их домене. Удаленным SWF-файлам можно разрешить доступ к данным в других доменах путем предоставления разрешения от веб-сайта или автора, например, с помощью файлов политики URL-адресов и метода Security.allowDomain(). Дополнительные сведения см. в разделах «Элементы управления веб-сайта (файлы политики)» и «Элементы управления автора (разработчика)». Удаленные SWF-файлы не могут загружать локальные файлы или ресурсы. Дополнительные сведения о безопасности проигрывателя Flash Player см. в центре разработчиков Flash Player Developer Center в разделе «Безопасность» по адресу www.adobe.com/go/devnet_security_ru. Локальные изолированные программные средыЛокальным называется любой файл, который указывается с использованием ссылки по протоколу file: или пути UNC (Universal Naming Convention — универсальные правила именования). Локальные SWF-файлы помещаются в одну из четырех локальных изолированных программных сред.
Взаимодействие между локальной изолированной программной средой с сетевым подключением и локальной изолированной программной средой файловой системы, а также между локальной изолированной программной средой файловой системы и удаленной изолированной программной средой строго запрещено. Разрешение на такое взаимодействие не может предоставить ни приложение, выполняемое в проигрывателе Flash Player, ни пользователь, ни администратор. Для выполнения сценариев в любом направлении между локальными HTML-файлами и локальными SWF-файлами, например, с помощью класса ExternalInterface, требуется, чтобы оба файла (HTML и SWF) находились в локальной доверенной изолированной программной среде. Это требование объясняется тем, что локальные модели безопасности обозревателей отличаются от модели проигрывателя Flash Player. SWF-файлы из локальной изолированной программной среды с сетевым подключением не могут загружать SWF-файлы из локальной изолированной программной среды файловой системы. SWF-файлы из локальной изолированной программной среды файловой системы не могут загружать SWF-файлы из локальной изолированной программной среды с сетевым подключением. Изолированная программная среда приложения AIRСреда выполнения Adobe AIR добавляет дополнительную изолированную среду приложения, которая расширяет модель изолированных программных сред безопасности Flash Player. Файлы, устанавливаемые в составе приложения AIR, загружаются в изолированную программную среду приложения. Все остальные файлы, загружаемые приложением, имеют те же ограничения по безопасности, которые определены в обычной модели безопасности Flash Player. При установке приложения все файлы, включенные в пакет AIR, устанавливаются на компьютер пользователя в каталог приложения. Разработчики могут создать ссылку на этот каталог в коде при помощи схемы URL-адреса app:/ (см. раздел Схемы URI). Все файлы дерева каталога приложения помещаются в изолированную программную среду приложения при выполнении приложения. Содержимое изолированной программной среды приложения наделяется полным набором привилегий, доступных приложению AIR, в том числе возможностью взаимодействия с локальной файловой системой. Многие приложения AIR используют только такие локально установленные файлы для выполнения приложения. Однако приложения AIR не ограничены файлами в каталоге приложения — они могут загружать файлы любого типа из любых источников. К ним относятся файлы, локально установленные на компьютере пользователя, а также файлы из доступных внешних источников, например из локальной сети или Интернета. Тип файла не влияет на ограничения безопасности; загруженные HTML-файлы обладают теми же привилегиями безопасности, что и загруженные SWF-файлы из того же источника. Содержимое изолированной программной среды безопасности приложения имеет доступ к API-интерфейсам AIR, к которым содержимое из других изолированных программных сред не имеет доступа. Например, свойство air.NativeApplication.nativeApplication.applicationDescriptor, которое возвращает содержимое файла дескриптора приложения, ограничено доступом к содержимому в изолированной программной среде безопасности приложения. Другим примером API-интерфейса с ограниченным доступом является класс FileStream, который содержит методы для чтения и записи в локальную файловую систему. API-интерфейсы ActionScript, которые доступны только для содержимого в изолированной программной среде безопасности приложения, отмечены логотипом AIR в cправочнике ActionScript® 3.0 для платформы Adobe® Flash® Platform. При использовании этих API-интерфейсов в других изолированных программных средах среда выполнения выдает исключение SecurityError. Для содержимого HTML (в объекте HTMLLoader) все JavaScript API-интерфейсы AIR (которые доступны через свойство window.runtime или объект air при использовании файла AIRAliases.js) доступны для содержимого в изолированной программной среде безопасности приложения. Содержимое HTML в другой изолированной программной среде не имеет доступа к свойству window.runtime, поэтому такое содержимое не имеет доступа к API-интерфейсам Flash Player. Содержимое, выполняемое в изолированной программной среде приложения AIR, имеет следующие дополнительные ограничения.
Ограничения для JavaScript внутри AIRВ отличие от содержимого в изолированной программной среде безопасности приложения содержимое JavaScript из других изолированных программных сред безопасности может вызвать функцию eval() для исполнения динамически генерируемого кода в любое время. Однако существуют ограничения для сценариев JavaScript, выполняемых за пределами изолированной программной среды приложения AIR. Вот некоторые из них:
Дополнительные сведения см. в разделе «Ограничения по использованию кода в содержимом из различных изолированных программных сред». Настройка типа изолированной программной среды для локальных SWF-файловКонечный пользователь или администратор компьютера может указать локальный SWF-файл как доверенный, чтобы он мог загружать данные из всех доменов, локальных и сетевых. Это указывается в каталоге глобальной доверенной зоны Global Flash Player Trust и в каталоге пользовательской доверенной зоны User Flash Player Trust. Дополнительные сведения см. в разделах «Элементы управления администратора» и «Элементы управления пользователя». Дополнительные сведения о локальных изолированных программных средах см. в разделе «Локальные изолированные программные среды». Adobe Flash ProfessionalЧтобы настроить SWF-файл для локальной изолированной программной среды файловой системы или для локальной изолированной программной среды с сетевым подключением, нужно настроить параметры публикации документа в инструменте разработки. Adobe FlexЧтобы настроить SWF-файл для локальной изолированной программной среды файловой системы или для локальной изолированной программной среды с сетевым подключением, нужно установить флаг use-network в компиляторе Adobe Flex. Дополнительные сведения см. в разделе «О параметрах компилятора приложений» руководства Создание и развертывание приложений Adobe Flex 3. Свойство Security.sandboxTypeАвтор SWF-файла может использовать статическое свойство Security.sandboxType, предназначенное только для чтения, чтобы определить тип изолированной программной среды, в которую среда выполнения Flash Player или AIR поместила SWF-файл. Класс Security включает константы, представляющие возможные значения свойства Security.sandboxType, перечисленные ниже.
|
|