Как использовать crossdomain.xml для моего проекта Flash ...? - PullRequest
2 голосов
/ 11 августа 2010

Это сводит меня с ума ... Я пытаюсь собрать проигрыватель 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 ]

4 голосов
/ 11 августа 2010

Я тоже получаю много ошибок, но, как правило, они на стороне 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#head1

Вот файл политики с 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 явно не указана мета-политика, но указан тип контента для файла политики http://video -stats.video.google.com / crossdomain.xml - это «text / x-cross-domain-policy». Применение метаполитики «by-content-type».

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

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

3 голосов
/ 11 августа 2010

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

2 голосов
/ 11 августа 2010

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

Удалите это:

<!--

и это:

-->

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

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

2 голосов
/ 11 августа 2010

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

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

...