Руководство по actionscript. часть 3, стр. 089
Дориан знает, что большая часть посетителей предпочитает не запускать исполняемые файлы из неизвестных источников, поэтому она решает сделать свою игру в виде загружаемого SWF-файла, а не в виде исполняемого файла проектора. Чтобы позволить игре, выполняемой в виде локального SWF-файла, подключаться к серверу, на котором хранятся лучшие результаты, Дориан компилирует приложение race. swf с установленным в значение true флагом компилятора — use-network.
Чтобы установить флаг — use-network, Дориан использует тот же механизм, который использовала Сьюзен в предыдущем сценарии с приложением calendar. swf, но при установке флага — use-network вместо значения false указывает значение true. При использовании среды разработки Flash Дориан выбирает для параметра Local playback security (Безопасность локального воспроизведения) значение Access network only (Обращение только к сети) вместо значения Access local files only (Обращение только к локальным файлам).
Установка локального доверия
Колин создает инструмент администрирования admin. swf для сокетного приложения-сервера. Файл admin. swf предназначен для работы либо в том же домене, в котором находится сокетный сервер, либо в локальной файловой системе администратора этого сервера. Инструмент администрирования подключается к удаленному сокетному серверу и не загружает никакие локальные файлы, поэтому Колин компилирует приложение как локальный SWF-файл с поддержкой сети.
Первый экран инструмента администрирования представляет собой простую форму для ввода имени сервера и пароля. При входе в систему инструмент администрирования предлагает сохранить введенный пароль сервера. Если пользователь соглашается, то инструмент администрирования сохраняет пароль в совместно используемом локальном объекте. В следующий раз при входе в систему инструмент администрирования автоматически заполнит текстовое поле для ввода пароля.
В процессе разработки Колин вдруг осознает, что, поскольку файл admin. swf является локальным SWF-файлом с поддержкой сети, другие локальные SWF-файлы с поддержкой сети, находящиеся на том же компьютере, на котором выполняется приложение admin. swf, смогут загрузить это приложение и прочитать пароль из текстового поля!
Чтобы закрыть эту потенциальную брешь в безопасности, Колин принимает разумное решение: файлу admin. swf должен присваиваться тип безопасности песочницы «локальный с установленным доверием». В результате другие локальные SWF-файлы с поддержкой сети не смогут прочитать значение из текстового поля для ввода пароля.
Чтобы превратить файл admin, swf в локальный SWF-файл с установленным доверием, Колин создает инсталлятор, который устанавливает доверие для местоположения файла admin. swf путем помещения конфигурационного файла в директорию Global Flash Player Trust на локальной машине. В соответствии с официальным форматом языка конфигурационный файл содержит одну-единственную текстовую строку: местоположение файла admin. swf в локальной файловой системе. В итоге, когда приложение Flash Player загружает файл admin. swf из указанного местоположения, этому файлу присваивается тип безопасности песочницы «локальный с установленным доверием».
Полную информацию, посвященную созданию и управлению устанавливающими доверие конфигурационными файлами, можно найти в разделе Programming ActionScript 3.0 > Flash Player APIs > Flash Player Security > Overview of permission controls > Administrative user controls документации корпорации Adobe.
Колин также понимает, что пользователи инструмента администрирования могут захотеть переместить файл admin. swf в любое произвольное местоположение. Чтобы позволить пользователю перемещать файл admin. swf в новое местоположение, не теряя статус «локальный с установленным доверием», Колин включает инструкцию в документацию по инструменту администрирования (см. врезку выше).
Описанный сценарий с инструментом администрирования сокетного сервера демонстрирует два доступных механизма установления доверия для локального SWF-файла: конфигурационные файлы на компьютере, на котором выполняется приложение Flash Player (обеспечиваемые инсталлятором Колина), и инструмент Flash Player Settings Manager (к которому обращается пользователь). Подробное описание инструмента Flash Player Settings Manager можно найти в разделе Programming ActionScript 3.0 > Flash Player APIs > Flash Player Security > Overview of permission controls > User controls документации корпорации Adobe.
Перенос файла admin. swf в произвольное местоположение. Перед тем как перенести файл admin. swf в новое местоположение, не забудьте зарегистрировать его как локальный SWF-файл с установленным доверием, выполнив такую последовательность действий.
1. Откройте инструмент Flash Player Settings Manager, загрузив в браузере следующую страницу: http://www. macromedia. com/support/documentation/en/flashplayer/ help/settings_manager04.html.
2. Щелкните кнопкой мыши на ссылке Edit locations (Управление местоположениями) параметра Always trust files in these locations (Всегда доверять файлам в следующих местоположениях) в разделе Global Security Settings (Глобальные настройки безопасности) и выберите команду Add location (Добавить местоположение).
3. Введите или выберите местоположение, для которого вы хотите установить доверие.