Изолированные программные среды



Клиентские компьютеры могут получать отдельные SWF-файлы из разных источников, таких как внешние веб-сайты или локальная файловая система. Проигрыватель Flash Player в индивидуальном порядке распределяет SWF-файлы и другие ресурсы, такие как общие объекты, растровые изображения, звуки, видео и данные, по изолированным программным средам на основе того, из каких источников они загружены в Flash Player. В следующих разделах описываются правила, предусмотренные в проигрывателе Flash Player для управления тем, какие ресурсы доступны SWF-файлу в определенной изолированной программной среде.

Дополнительные сведения о безопасности проигрывателя Flash Player см. в центре разработчиков Flash Player Developer Center в разделе «Безопасность» по адресу www.adobe.com/go/devnet_security_ru.

Удаленные изолированные программные среды

Проигрыватель Flash Player распределяет интернет-ресурсы, включая SWF-файлы, по разным изолированным программным средам в соответствии с исходными доменами веб-сайтов. По умолчанию этим файлам разрешен доступ к любым ресурсам, находящимся в их домене. Удаленным 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 помещает все локальные SWF-файлы и ресурсы в эту изолированную среду по умолчанию. SWF-файлы из этой изолированной программной среды могут считывать локальные файлы (например, с помощью класса URLLoader), но не имеют никакой возможности взаимодействовать с сетью. Это предотвращает утечку локальных данных в сеть и другие виды несанкционированного доступа.

  • Локальная изолированная программная среда с сетевым подключением: во время компиляции SWF-файла можно указать, что он имеет доступ к сети, когда выполняется в качестве локального файла (см. раздел Настройка типа изолированной программной среды для локальных SWF-файлов). Такие файлы помещаются в локальную изолированную программную среду с сетевым подключением. SWF-файлы, помещенные в локальную изолированную программную среду с сетевым подключением, теряют доступ к локальным файлам. Зато они получают доступ к сетевым данным. Однако SWF-файлы из локальной изолированной программной среды с сетевым подключением все равно не могут считывать данные из сети, если им не предоставлено соответствующее разрешение посредством файла политики URL-адресов или вызова метода Security.allowDomain(). Чтобы предоставить такое разрешение, файл политики URL-адресов должен разрешать доступ всем доменам с использованием оператора <allow-access-from domain="*"/> или метода Security.allowDomain("*"). Дополнительные сведения см. в разделах Элементы управления веб-сайта (файлы политики) и Элементы управления автора (разработчика).

  • Локальная доверенная изолированная программная среда: в эту среду помещаются локальные SWF-файлы, зарегистрированные в качестве доверенных (пользователями или программами установки). Системные администраторы и пользователи также имеют возможность перераспределять (перемещать) локальные SWF-файлы в локальную доверенную изолированную программную среду или из нее в соответствии с требованиями безопасности (см. разделы Элементы управления администратора и Элементы управления пользователя). SWF-файлы, распределенные в локальную доверенную изолированную программную среду, могут взаимодействовать со всеми остальными SWF-файлами и загружать данные из любого местоположения (удаленного или локального).

  • Изолированная программная среда приложения AIR: эта изолированная программная среда включает содержимое, установленное вместе с выполняемым приложением AIR. По умолчанию файлы в изолированной программной среде приложения AIR могут выполнять перекрестные сценарии для любого файла из любого домена. Однако файлы, находящиеся за пределами изолированной программной среды приложения AIR, не могут выполнять перекрестные сценарии для файла AIR. По умолчанию файлы в изолированной программной среде приложения AIR могут загружать содержимое и данные из любого домена.

Взаимодействие между локальной изолированной программной средой с сетевым подключением и локальной изолированной программной средой файловой системы, а также между локальной изолированной программной средой файловой системы и удаленной изолированной программной средой строго запрещено. Разрешение на такое взаимодействие не может предоставить ни приложение, выполняемое в проигрывателе Flash Player, ни пользователь, ни администратор.

Для выполнения сценариев в любом направлении между локальными HTML-файлами и локальными SWF-файлами, например, с помощью класса ExternalInterface, требуется, чтобы оба файла (HTML и SWF) находились в локальной доверенной изолированной программной среде. Это требование объясняется тем, что локальные модели безопасности обозревателей отличаются от модели проигрывателя Flash Player.

SWF-файлы из локальной изолированной программной среды с сетевым подключением не могут загружать SWF-файлы из локальной изолированной программной среды файловой системы. SWF-файлы из локальной изолированной программной среды файловой системы не могут загружать SWF-файлы из локальной изолированной программной среды с сетевым подключением.

Настройка типа изолированной программной среды для локальных SWF-файлов

Чтобы настроить SWF-файл для локальной изолированной программной среды файловой системы или для локальной изолированной программной среды с сетевым подключением, нужно настроить параметры публикации документа в инструменте разработки.

Конечный пользователь или администратор компьютера может указать локальный SWF-файл как доверенный, чтобы он мог загружать данные из всех доменов, локальных и сетевых. Это указывается в каталоге глобальной доверенной зоны Global Flash Player Trust и в каталоге пользовательской доверенной зоны User Flash Player Trust. Дополнительные сведения см. в разделах Элементы управления администратора и Элементы управления пользователя.

Дополнительные сведения о локальных изолированных программных средах см. в разделе Локальные изолированные программные среды.

Свойство Security.sandboxType

Автор SWF-файла может использовать статическое свойство Security.sandboxType, предназначенное только для чтения, чтобы определить тип изолированной программной среды, в которую проигрыватель Flash Player поместил SWF-файл. Класс Security включает константы, представляющие возможные значения свойства Security.sandboxType, перечисленные ниже.

  • Security.REMOTE: SWF-файл находится в удаленном местоположении в Интернете и подчиняется правилам изолированной программной среды на основе домена.

  • Security.LOCAL_WITH_FILE: SWF-файл является локальным файлом, но не является доверенным для пользователя и не публиковался с возможностью сетевого подключения. SWF-файл может считывать информацию из локальных источников данных, но не может обмениваться данными через Интернет.

  • Security.LOCAL_WITH_NETWORK: SWF-файл является локальным файлом, не является доверенным для пользователя, но публиковался с возможностью сетевого подключения. SWF-файл может обмениваться данными через Интернет, но не может считывать информацию из локальных источников данных.

  • Security.LOCAL_TRUSTED: SWF-файл является локальным файлом, пользователь сделал его доверенным с помощью диспетчера настроек проигрывателя или файла конфигурации FlashPlayerTrust. SWF-файл может считывать информацию из локальных источников данных и обмениваться данными через Интернет.

  • Security.APPLICATION: SWF-файл работает в приложении AIR и был установлен с пакетом (файлом AIR) для этого приложения. По умолчанию файлы в изолированной программной среде приложения AIR могут выполнять перекрестные сценарии для любого файла из любого домена. Однако файлы, находящиеся за пределами изолированной программной среды приложения AIR, не могут выполнять перекрестные сценарии для файла AIR. По умолчанию файлы в изолированной программной среде приложения AIR могут загружать содержимое и данные из любого домена.