Руководство по actionscript. часть 3, стр. 090

Стоит отметить, что, если приложение Flash Player выполняется в тот момент, когда устанавливается доверие (либо с помощью конфигурационных файлов, либо с помощью инструмента Flash Player Settings Manager), новый доверительный статус для указанного SWF-файла не вступит в силу до тех пор, пока приложение не будет перезапущено. Для версий Flash Player, реализованных в виде дополнительных модулей или элементов управления ActiveX, «перезапуск» подразумевает выключение всех экземпляров приложения Flash Player — даже тех, которые выполняются в других окнах браузера!

Для разработчиков доверие устанавливается автоматически

Чтобы упростить тестирование локального содержимого, предназначенного для публикации в Интернете, приложение Flex Builder 2 корпорации Adobe автоматически устанавливает доверие для разрабатываемых проектов. Для этого оно добавляет запись, описывающую путь для выходной папки каждого проекта (обычно /bin/), в файл flexbuilder. cf д, находящийся в директории User Flash Player Trust. Подобным образом отладочная версия приложения Flash Player среды разработки Flash автоматически устанавливает доверие для всех открываемых или загружаемых SWF-файлов в локальной области действия.

Вследствие этого при загрузке элементов в процессе разработки вы можете не столкнуться с проблемами безопасности, которые возникнут у конечного пользователя. Например, SWF-файл, находящийся в папке проекта/bin/, сможет загрузить локальный файл, даже если у него есть только разрешение для доступа к сети.

Чтобы протестировать приложение в тех условиях, в которых будет находиться ваш конечный пользователь, выполняйте его в соответствующей целевой среде. Например, для веб-приложений тестирование необходимо проводить в Интернете. Для локальных приложений без установленного доверия, разрабатываемых в приложении Flex Builder 2, тестирование проводите из локальной папки, для которой не установлено доверие (Рабочий стол операционной системы обычно является именно такой папкой). Для локальных приложений без установленного доверия, разрабатываемых в среде разработки Flash, используйте команду меню File > Publish Preview > HTML (Файл > Просмотр публикации > HTML), чтобы просмотреть приложение в браузере (среда разработки Flash не устанавливает автоматически доверие для содержимого, просматриваемого в браузере).

^ I В процессе отладки вы должны всегда убеждаться в том, что тип безопасности песоч-м$ 4 „ ницы вашего приложения соответствует типу безопасности песочницы, который будет * л!?.’ использоваться при внедрении приложения.

Чтобы проверить тип безопасности песочницы SWF-файла на этапе выполнения, получите значение переменной Да sh. system. Security. sandboxType внутри этого SWF-файла.

Чтобы проверить, для каких папок на данном компьютере установлено доверие, просмотрите конфигурационные файлы, находящиеся в директориях User Flash Player Trust и Global Flash Player Trust, или воспользуйтесь онлайн-инструментом Flash Player Settings Manager, который доступен по адресу http://www. adobe. com/support/ documentation/en/flashplayer/help/index. html.

Чтобы удалить доверие для проекта приложения Flex Builder 2 (это позволит имитировать работу конечного пользователя с приложениями без установленного доверия), удалите соответствующий путь из файлаДехЬи13^ег. cf д, находящегося в директории User Flash Player Trust. Стоит отметить, однако, что, поскольку приложение Flex Builder 2 автоматически восстанавливает файл flexbuilder. cf д при создании нового проекта, вам придется удалять данный путь из файла после каждого создания или импорта проекта. Узнать местоположение директорий User Flash Player Trust и Global Flash Player Trust можно в разделе Programming ActionScript 3.0 > Flash Player APIs > Flash Player Security > Overview of permission controls документации корпорации Adobe.

Используемый по умолчанию тип безопасности песочницы

И приложение Flex Builder 2, и консольный компилятор mxmlc устанавливают флаг компилятора — use-network в значение true, если это значение не указано явно. Таким образом, по умолчанию, если SWF-файл, скомпилированный с помощью приложения Flex Builder 2 или компилятора mxmlc, запускается в локальной области действия из любого местоположения, для которого не установлено доверие, ему будет присвоен тип безопасности «локальный с поддержкой сети».

Каким бы странным это ни казалось, но значением по умолчанию для параметра Local playback secutiry (Безопасность локального воспроизведения) среды разработки Flash является Access local files only (Обращение только к локальным файлам).

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

Чтобы избежать недоразумений, всегда явно указывайте желаемое значение для флага компилятора — use-network и параметра публикации Local playback secutiry (Безопасность локального воспроизведения) среды разработки Flash.

Разрешения распространителя (файлы политики безопасности)

На протяжении этой главы мы неоднократно видели, как система безопасности приложения Flash Player ограничивает доступ SWF-файла к внешним ресурсам. Теперь рассмотрим, как в некоторых случаях распространитель ресурса может использовать разрешения распространителя, чтобы обойти эти ограничения.

Руководство по actionscript. часть 3, стр. 091

Напомним, что «распространитель ресурса» — это сторона, которая предоставляет ресурс из некоторого удаленного региона. Например, и администратор сайта, и администратор д*А’ сокетного сервера являются распространителями ресурсов.

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

К типам операций, которые потенциально могут быть разрешены файлом политики безопасности, относятся:

? загрузка содержимого в виде данных;

? загрузка данных;

? подключение к сокету;

? импортирующая загрузка (рассматривается далее, в разд. «Импортирующая загрузка»).

С помощью файла политики безопасности невозможно разрешить операции кросс-скрип-м$ 4 ш тинга — Узнать подробнее о разрешении операции кросс-скриптинга можно в разд. «Раз* лЗь{.’ решения создателя (allowDomain())».

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

безопасности может дать файлу http://site-a. com/map. swf разрешение на чтение пикселов из файла http://site-b. com/satellite-image. jpg или разрешение на загрузку файла http://siteb. com/map-data. xml.

В соответствии с данными из табл. 19.3,19.5,19.7 и 19.8 файл политики безопасности позволяет предоставить SWF-файлу доступ к ресурсам, которые оказываются недоступными, когда:

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

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

? локальный SWF-файл с поддержкой сети пытается выполнить операцию доступа к содержимому в виде данных для ресурса в удаленной области действия;

? локальный SWF-файл с поддержкой сети пытается выполнить операцию загрузки данных для ресурса в удаленной области действия;

? удаленный SWF-файл пытается подключиться к сокету внутри его региона происхождения, но к порту ниже 1024;

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

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

Руководство по actionscript. часть 3, стр. 092

В следующих разделах описываются механизмы использования файлов политики безопасности распространителями ресурсов для разрешения доступа к ресурсам в каждой из перечисленных ситуаций.

Дополнительную информацию по файлам политики безопасности можно найти в разделе Programming ActionScript 3.0 > Flash Player APIs > Flash Player Security > Overview of permission controls > Web Site controls (cross-domain policy files) документации корпорации Adobe.

В приложении Flash Player 6 файлы политики безопасности применялись исключительно для разрешения междоменного взаимодействия и поэтому назывались файлами междо-5? менной политики безопасности. С момента появления приложения Flash Player версии 7.0.19.0 файлы политики безопасности также начали использоваться для разрешения сокетных подключений к портам из нижнего диапазона. Чтобы как-то отразить это расширенное назначение, в данной книге используется более короткий термин «файл политики безопасности», однако в других источниках вы будете встречать первоначальный термин — «файл междоменной политики безопасности».

Разрешение операций загрузки данных и обращения к содержимому в виде данных

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

в виде данных для заданного набора удаленных ресурсов, используйте следующую общую последовательность действий.

1. Создайте файл политики безопасности.

2. Разместите созданный файл политики безопасности в том же удаленном регионе (то есть в том же домене или для того же IP-адреса), где находится ресурс, для которого устанавливается разрешение.

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

Создание файла политики безопасности

Для создания файла политики безопасности используйте такую последовательность действий.

1. Создайте новый текстовый файл.

2. Добавьте в файл список желаемых разрешенных источников, используя официальный синтаксис корпорации Adobe для файлов политики безопасности.

3. Сохраните текстовый файл.

Официальный синтаксис корпорации Adobe для файлов политики безопасности основан на языке XML и имеет следующую структуру:




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>



Здесь доменИли1Р определяет доменное имя или IP-адрес разрешенного источника. SWF-файлу, загруженному из разрешенного источника, разрешается выполнять операции загрузки данных и обращения к содержимому в виде данных для заданного набора ресурсов. Как вы узнаете из следующего раздела, конкретный набор ресурсов, доступ к которым разрешает файл политики безопасности, определяется местоположением этого файла.

Руководство по actionscript. часть 3, стр. 093

Файл политики безопасности может содержать любое количество тегов . Например, следующий файл политики безопасности определяет три разрешенных источника: examplel. com, example2.com и example3.com.




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>







Когда символ * используется в значении атрибута domain, он обозначает подстановочный символ. Например, следующий файл политики безопасности разрешает доступ для сайта examplel. com и его любого поддомена, независимо от уровня вложенности (например, games. examplel. com, driving. games. examplel. com и т. д.):




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>



Сам по себе символ * разрешает доступ для всех источников:




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>



Чтобы включить локальную область действия в список разрешенных источников, файл политики безопасности должен явным образом установить доверие для всех источников. Для этого должен быть указан символ * (любой источник) в качестве значения атрибута domain. Таким образом, чтобы локальные SWF-файлы с поддержкой сети могли загружать XML-файлы с сайта, атрибуту domain файла политики безопасности этого сайта должно быть установлено значение *.

Руководство по actionscript. часть 3, стр. 094

Размещение файла политики безопасности

После создания файл политики безопасности должен быть размещен в том же удаленном регионе (то есть домене или IP-адресе), где находится ресурс, к которому разрешается доступ. Например, если файл политики безопасности разрешает доступ к содержимому сайта www. example. com, файл политики безопасности должен быть также размещен на сайте www. example. com.

Набор ресурсов, к которым файл политики безопасности разрешает доступ, определяется конкретным местоположением этого файла. Если файл политики безопасности размещается в корневой директории сайта, то доступ будет разрешен ко всему сайту. Например, файл политики безопасности, размещенный по адресу http:// www. example. com, разрешает доступ ко всему содержимому сайта www. example. com.

Когда файл политики безопасности размещается в поддиректории сайта, он разрешает доступ только к этой директории и к ее поддиректориям. Например, файл политики безопасности, размещенный по адресу http://www. example. com/assets, разрешает доступ ко всему содержимому директории /assets/ и ее поддиректорий, но не разрешает доступ ни к корневой директории сайта www. example. com, ни к любой другой поддиректории этого сайта.

С целью автоматизации процесса загрузки файлов политики безопасности язык ActionScript определяет используемое по умолчанию имя и местоположение для файлов политики безопасности. Любой файл политики безопасности с именем crossdomain. xml, размещенный в корневой директории сайта, считается

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

Получение разрешения на загрузку данных из файла политики безопасности

Когда на сайте размещается используемый по умолчанию файл политики безопасности, устанавливающий разрешение для определенного удаленного региона, SWF-файлы из этого региона могут загружать данные с сайта, просто выполняя желаемую операцию загрузки данных. Предположим, что на сайте site-a. com размещен следующий используемый по умолчанию файл политики безопасности, который разрешает доступ для источников site-b. com и www. site-b. com:




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>





Чтобы загрузить файл http://site-a. com/assets/file. xml, любой SWF-файл из источника www. site-b. com или site-b. com может использовать следующий код:

var url loader-.URLLoader = new URLLoader ( ):

url loader. load(new URLRequest(«http://si te-a. com/assets/file. xml»));

Поскольку файл политики безопасности сайта site-a. com размещается в используемом по умолчанию местоположении, приложение Flash Player находит его автоматически и разрешает загрузить файл file. xml.

Руководство по actionscript. часть 3, стр. 095

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

Securi ty.1oadPoli cyFi1e(«http://доменИли1Р/путьКФайлуПолитикиБезопасности»);

В приведенном обобщенном коде доменИли1Р — это домен или IP-адрес сайта, на котором размещается файл политики безопасности, а путьКФайлуПолитикиБезопас-ности — местоположение файла политики безопасности на этом сервере. Как уже упоминалось ранее, IP-адреса, заданные в числовом виде, и их эквивалентные доменные имена для приложения Flash Player считаются разными.

Предположим, что сайт site-c. com размещает следующий файл политики безопасности по адресу http://site-c. com/assets/policy. xml. Этот файл политики безопасности разрешает доступ для источников site-d. com и www. site-d. com.



SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>



Руководство по actionscript. часть 3, стр. 096

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

// Один раз загружаем файл политики безопасности

Security. loadPolicyFileChttp://si te-c. com/assets/pol icy. xml»);

// Выполняем две разрешенные операции загрузки

var urlloaderl:URLLoader = new URLLoader( );

urlloaderl. load(new URLRequest(«http://site-c. com/assets/filei. xml»)): var urlloader2:URLLoader = new URLLoader(» );

urlloader2.1oad(new URLRequest(«http://site-c. com/assets/file2.xml»)):

Рассмотрим практический пример, который демонстрирует, как файл политики безопасности, размещенный в поддиректории сайта, может быть использован в реальной ситуации. Предположим, Грейм поддерживает сайт с бесплатной информацией о котировках акций stock-feeds-galore. com. Он сохраняет самую последнюю полученную информацию в XML-файле, который размещается по следующему адресу:

stock-feeds-gal ore. com/1atest/feed. xml

Грейм хочет сделать так, чтобы содержимое директории /latest/ было доступно всем SWF-файлам из любого источника, но не хочет делать доступным весь сайт. Таким образом, Грейм размещает следующий файл политики безопасности с именем policy. xml в директории /latest/ (обратите внимание на использование подстановочного символа * в значении атрибута domain):




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>



После этого Грейм размещает на сайте stock-feeds-galore. com сообщение, которое информирует разработчиков на языке ActionScript о местоположении файла политики безопасности:

stock — feeds-gal ore. com/1atest/poli cy. xml

Тем временем Джеймс создает приложение stockticker. swf для отображения котировок акций, которое он собирается разместить на своем сайте www. some-news-site. com. Приложение Джеймса загружает последнюю информацию об акциях с сайта Грейма. Поскольку файл политики безопасности сайта www. stock-feeds-galore. com не находится в местоположении, используемом по умолчанию, Джеймс вынужден загрузить файл политики безопасности перед тем, как выполнить операцию загрузки информации об акциях. Вот код, который использует Джеймс для загрузки файла политики безопасности Грейма:

Securi ty.1oadPoli cyFi1e(«http://stock-feeds-gal ore. com/1atest/poli cy. xml»)

Инициировав запрос на загрузку файла политики безопасности, Джеймс использует объект URLLoader для загрузки файла feed. xml, как показано в следующем коде:

var urlLoader:URLLoader = new URLLoader( );

urlLoader. load(new URLRequest(«http://stock-feeds-galore. com/latest/feed. xml»)):

В результате выполнения предыдущего кода приложение Flash Player загружает файл http://stock-feeds-galore. com/latest/policy. xml, находит необходимое разрешение в этом файле политики безопасности и переходит к загрузке файла feed. xml.

Руководство по actionscript. часть 3, стр. 097

Теперь, когда мы познакомились с механизмом получения разрешения из файла политики безопасности на загрузку данных, рассмотрим механизм получения из файла политики безопасности разрешения на выполнение операции обращения к содержимому в виде данных.

Получение разрешения на доступ к содержимому в виде данных из файла политики безопасности

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

1. Если файл политики безопасности не находится в местоположении, используемом по умолчанию, загрузите его методом Security. loadPolicyFile ( ) (как описывалось в предыдущем разделе).

2. Создайте объект LoaderContext и присвойте значение true его переменной checkPolicyFile.

3. Загрузите нужное изображение с помощью метода Loader. load ( ); в качестве параметра context метода Loader. load ( ) передайте объект LoaderContext, созданный на шаге 2.

4. После загрузки изображения выполните операцию обращения к содержимому в виде данных.

Предположим, что сайт site-a. com размещает следующий файл политики безопасности по адресу http://site-a. com/assets/policy. xml. Файл разрешает доступ для источников site-b. com и www. site-b. com.




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>





Чтобы обратиться к файлу http://site-a. com/assets/image. jpg в виде данных, любой SWF-файл из источника www. site-b. com или site-b. com может использовать следующий код:

// Шаг 1: Файл политики безопасности не находится в местоположении, // используемом по умолчанию, поэтому загружаем его вручную.

Руководство по actionscript. часть 3, стр. 098

Security. loadPolicyFileChttp://si te-a. com/assets/pol icy. xml»):

// Шаг 2: Создаем объект LoaderContext и присваиваем его переменной // checkPolicyFile значение true,

var loaderContext = new LoaderContext( ); loaderContext. checkPolicyFile = true:

// Шаг 3: Загружаем изображение. Передаем объект LoaderContext в метод // Loader. load( ).

theLoader. load(new URLRequest(«http://site-a. com/assets/image. jpg»),

loaderContext):

// Шаг 4: Позднее, когда приложение убедится, что загрузка изображения // завершена, обращаемся к содержимому изображения в виде данных.

trace(theLoader. content):

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

1. Если файл политики безопасности не находится в местоположении, используемом по умолчанию, загрузите его методом Security. loadPolicyFile ( ) (как описывалось в предыдущем разделе).

2. Создайте объект SoundLoaderContext и присвойте значение true его переменной checkPolicyFile.

3. Загрузите желаемый звуковой файл с помощью метода экземпляра load ( ) класса Sound. В качестве параметра context метода load ( ) передайте объект SoundLoaderContext, созданный на шаге 2.

4. После успешного завершения загрузки звукового файла (определить окончание загрузки можно с помощью событий класса Sound, информирующих о ходе выполнения загрузки) выполните разрешенную операцию обращения к содержимому в виде данных.

Предположим, что на сайте site-c. com размещен следующий используемый по умолчанию файл политики безопасности, который разрешает доступ для источников site-d. com и www. site-d. com.




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>





Чтобы обратиться к файлу http://site-c. com/sounds/song. mp3 в виде данных, любой SWF-файл из источника www. site-d. com или site-d. com может использовать следующий код:

// Шаг 1: Файл политики безопасности находится в местоположении,

// используемом по умолчанию, поэтому загружать его вручную не нужно

// Шаг 2: Создаем объект SoundLoaderContext и присваиваем его переменной // checkPolicyFile значение true,

var SoundLoaderContext = new SoundLoaderContext( ): SoundLoaderContext. checkPolicyFile = true:

// Шаг 3: Загружаем звуковой файл. Передаем объект SoundLoaderContext // в метод Loader. load( ).

Руководство по actionscript. часть 3, стр. 099

TheSound.1oad(new URLRequest(«http://example. com/sounds/song. mp3″):

// Шаг 4: Позднее, когда приложение убедится, что загрузка метаданных // в формате ID3 звукового файла завершена (это можно определить

// по событию Event. ID3), обращаемся к содержимому звукового файла

// в виде данных.

trace(theSound. id3):

Следует отметить, что присваивание значения true переменной экземпляра checkPolicyFile классов LoaderContext или SoundLoaderContext не влияет на загрузку элемента. При выполнении метода load ( ) классов Loader или SoundLoader элемент загружается всегда, даже если файл политики безопасности не разрешает доступ для региона происхождения данного SWF-файла. Тем не менее, если код в этом SWF-файле попытается обратиться к загруженному элементу в виде данных, приложение Flash Player сгенерирует исключение SecurityError.

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

Помните сайт Грейма stock-feeds-galore. com? Сайт работает так хорошо, что у Грейма появляется свободное время. Он решает поэкспериментировать с программированием растровой графики на языке ActionScript и создает приложение для распознавания лиц, которое может автоматически добавлять забавную шляпу для вечеринок на любую фотографию лица человека. Грейм очень доволен собой.

Друг Грейма Энди управляет компанией, организующей лотереи, у которой есть рекламный сайт www. lotterylotterylottery. com. Энди увидел приложение Грейма и решил, что оно позволит провести хорошую рекламную кампанию. Кампания заключается в том, что победители лотерей размещают свои фотографии на сайте photos. lotterylotterylottery. com. После этого основной сайт www. lotterylotterylottery. com выбирает случайную фотографию для домашней страницы, отображая победителя лотереи в шляпе для вечеринок. Энди нанимает Грейма, чтобы реализовать программный код для этой кампании.

Грейм размещает свое приложение для распознавания лиц partyhat. swf на сайте www. lotterylotterylottery. com. После этого он пишет сценарий на языке Perl randompic. pi, который возвращает случайную фотографию (JPG-файл) с сайта photos. lotterylotterylottery. com. Он размещает сценарий randompic. pi в директории photos. lotterylotterylottery. com/cgi-bin.

Файлу partyhat. swf с сайта www. lotterylotterylottery. com требуется доступ к пикселам фотографий, загруженных с сайта photos. lotterylotterylottery. com. Чтобы разрешить этот доступ, Грейм размещает следующий файл политики безопасности в корневой директории сайта phbtos. lotterylotterylottery. com и присваивает ему имя

crossdomain. xml:




SYSTEM «http://www. adobe. com/xml/dtds/cross-domain-policy. dtd»>





Обратите внимание, что Грейм добавил оба источника — www. lotterylotterylottery. com и lotterylotterylottery. com — в файл политики безопасности. Таким образом, приложение partyhat. swf будет функционировать правильно независимо от того, с какого из указанных URL-адресов оно будет загружено. Грейм также не позабыл исключить домен «*», поскольку его политика безопасности применяется только к конкретным доменам, а не ко всему миру.



Полезные ссылки
Случайные записи
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 032
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 125
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 065
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 015
  • 29.02.2012">«Яндекс.Диск» — российский ответ сервису iCloud от Apple
  • 07.09.2012">В Facebook запущена компания по переименованию города Хатчинсон в Смолвиль, родину Супермена
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.54
  • 19.11.2011">Обзор HTC Radar
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.27
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 101
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.134
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 117
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.26
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 059
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 040
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...