Что такое crossdomain.xml ?
Написал Aleksey — 21 мая , 2008Извеcтно что Flash Player может загружать данные из внешних источников. Это могут быть файлы XML находящиеся на сервере, данные получаемые от сценариев, shared библиотеки (swf-файлы). Но, по умолчанию, такое возможно если загружаемые файлы находятся в одном домене(на одном сайте) с загружающим их файлом (swf).
Что бы сделать shared-библиотеки, XML и другие данные доступными для SWF в других доменах, используйте файл с кросс-доменными правилами (cross-domain policy file). Файл с кросс-доменными правилами — XML файл, который дает возможность серверу «показать», что его данные и документы доступны для SWF файлов, находящихся в указанных в crossdomain.xml доменах. Любой SWF файл, который находится в домене, указанном в файле с правилами на сервере, будет иметь доступ к файлам и данным на этом сервере.
Когда Flash документ пытается получить доступ к файлу в другом домене, Flash Player автоматически загружает файл с правилами с этого домена. Если домен, в котором находится Flash документ, включен в файл с правилами, он получает доступ к данным. Подробнее тут.
Как выглядит crossdomain.xml ?
XML файл с правилами состоит из единственного тэга <cross-domain-policy>, который может содержать «0» или более тэгов <allow-access-from>. Тэг <allow-access-from> содержит аттрибут domain, определяющий либо точный IP адрес, либо точное имя домена, либо групповой символ (*), указывающий на любой домен. « * » соответствует всем доменам и всем IP адресам, или (*) с суффиксом, соответствующий всем доменам с таким суффиксам.
Суффикс должен начинаться с точки. Однако, группы доменов с суффиксом могут соответствовать доменам, состоящим только из суффикса, без точки. Пример: foo.com есть часть *.foo.com. Групповые символы не разрешается использовать при задании IP адреса.
Если в правиле вы указываете IP адрес, доступ предоставляется только роликам, загружаемым с этого адреса, используя прямое указание IP (например, http://65.57.83.12/movie.swf), но не роликам, загружаемым с указанием имени домена. Flash Player не производит DNS проверок.
Пример файла crossdomain.xml:
Файл разрешает flash роликам получать доступ к данным, если они находятся на
www.friendmydomaincom, *.foo.com, 105.216.0.40
<cross-domain-policy>
<allow-access-from domain="www.friendmydomain" />
<allow-access-from domain="*.foo.com" />
<allow-access-from domain="105.216.0.40" />
</cross-domain-policy>
Примечания:
Тэг <allow-access-from> имеет необязательный аттрибут secure, по умолчанию имеющий значение true. Аттрибут устанавливается равным false, если файл с правилами располагается на сервере, использующем HTTPS, и вы хотите разрешить роликам с HTTP сервера, получать доступ к файлам/данным на сервере с HTTPS.
Но установка аттрибута secure как false сводит на нет безопастность HTTPS.
Если загружаемый SWF файл находиться на HTTPS сервере, а загружающий находится на HTTP сервере, вам необходимо добавить аттрибут secure="false" к тэгу <allow-access-from>, как показано в примере:
Файл с правилами, не содержащий <allow-access-from> тэгов, равносилен его полному отсутствию.
Recent Comments