Как использовать crossdomain.xml для моего проекта Flash...?

Это сводит меня с ума... Я пытаюсь собрать проигрыватель YouTube с флеш-памятью, и каждый раз, когда я загружаю видео, возникает ошибка изолированной среды безопасности во время выполнения.. Я уже помещаю crossdomain.xml в мой корневой сервер http://mysite.com/ но я все еще получаю ошибки... Я что-то пропустил? Должен ли я загрузить его в свой проект flex? Спасибо за ответ...

Мой crossdomain.xml

<!-- <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
       <allow-access-from domain="*.youtube.com"/>
        <allow-access-from domain="s.ytimg.com"/>
    </cross-domain-policy> 
 -->

Изменить: 20100811T0723; это фактический XML из http://popslinger.org/crossdomain.xml

<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-    policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

4 ответа

Решение

Я тоже получаю много ошибок, но, как правило, они на стороне YouTube

Вот пример:

*** Security Sandbox Violation ***
SecurityDomain 'http://www.youtube.com/apiplayer?version=3' tried to access 
incompatible context 'http://s.ytimg.com/yt/swf/apiplayer3-vfl181412.swf'

Как видите, оба домена YouTube

Поэтому я посмотрел собственные файлы политики междоменного доступа YouTube. Оказывается, эти файлы должны быть обновлены. Прочитайте следующее: http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes_02.html

Вот файл политики от s.ytimg.com

<cross-domain-policy> 
  <allow-access-from domain="*" /> 
</cross-domain-policy>

который бросает следующее предупреждение

Предупреждение: домен s.ytimg.com не определяет метаполитику. Применение метаполитики по умолчанию "только для мастера". Эта конфигурация устарела. См. http://www.adobe.com/go/strict_policy_files чтобы решить эту проблему.

и вот как это должно выглядеть

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*"/>
</cross-domain-policy>

Вот еще одно предупреждение:

Предупреждение. В домене video-stats.video.google.com явно не указана метаполитика, но в файле Content-Type файла политики http://video-stats.video.google.com/crossdomain.xml указано "text/x". -cross-домен-политика. Применение метаполитики "by-content-type".

Похоже, YouTube должен разобраться в этом, все эти предупреждения и сообщения об ошибках безопасности довольно раздражают.

Практически, посмотрите на ошибки, если ваше доменное имя нигде не появляется, ваш файл междомена работает нормально.

Это не то, как междоменные файлы предназначены для работы. Наличие файла междоменного доступа на вашем сервере абсолютно не позволяет Flash получать данные с YouTube. Кроме того, вы загружаете AS3 Chromeless Player таким образом, что соблюдаете условия обслуживания, или вы собираете URL, чтобы в конечном итоге получить mp4/flv?

Если это ваш настоящий XML-файл, кажется, он закомментирован.

Удали это:

<!--

и это:

-->

PS: Хорошо, файл может быть загружен и имеет содержимое. Может быть, ваша проблема где-то еще?

То, что этот файл делает, предоставляет любой SWF, обслуживаемый от любого youtube.com поддомен или домен s.ytimg.com разрешение на загрузку данных из popslinger.org, Это может сработать, если ваши проблемы вызваны тем, что контент, отправленный с YouTube, пытается получить доступ к данным, обслуживаемым из вашего домена. Это тот случай?

Страница не найдена - ошибка 404 Страница, которую вы ищете ( http://mysite.com/crossdomain.xml), здесь не находится.

Убедитесь, что ваш веб-сервер настроен на выдачу файлов XML. IIS не по умолчанию. Шаги, чтобы включить это можно найти здесь: http://dannythorpe.com/2008/03/16/serving-rss-on-iis/

Другие вопросы по тегам