Flash не находит файл crossdomain.xml (Amazon S3) - PullRequest
2 голосов
/ 02 сентября 2010

У меня есть флэш-приложение, размещенное на сайте www.example.com, которое пытается извлечь ресурсы из корзины Amazon S3 по адресу http://s3.example.com

У меня есть файл crossdomain.xml, который является world-читаемый на корневом уровне ведра.s3.example.com/crossdomain.xml

Содержимое этого файла crossdomain.xml выглядит следующим образом:

    <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*.example.com" />  
    <allow-http-request-headers-from domain="*.example.com" headers="*" />                        
</cross-domain-policy>    

Когда я запускаю свое приложение с www.example.com, оно не будетзагрузить ресурсы из моего ведра s3.После некоторого перехвата запросов через wireshark и httpfox кажется, что приложение флэш не запрашивает s3.example.com/crossdomain.xml в любой момент.

Есть идеи, почему он пропускает этот файл?Мне не нужно заставлять его смотреть прямо здесь, используя это: Security.loadPolicyFile ("http://s3.example.com/crossdomain.xml"); ??

Спасибо, Брайан

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Какой у вас код AS2 и какой контент вы пытаетесь загрузить?Если возможно, какой фактический URL вы пытаетесь загрузить?

Может потребоваться принудительная загрузка междомена, например, настройка NetStream.checkPolicyFile ( AS2 , AS3 ) в значение true, если вы пытаетесь загрузить видео.

Еще одна ошибка, с которой вы можете столкнуться, это когда целевой сервер перенаправляет вас на другой URL (через перенаправление 301) - довольно часто встречается в изображениях из некоторыхУслуги с балансировкой нагрузки (скажем, Facebook).Когда это происходит, Flash не проверяет файл политики после перенаправления - в этом случае, да, вы должны выполнить loadPolicyFile () самостоятельно.Однако вам нужно сделать это только один раз, предпочтительно во время инициализации вашего приложения (оно ставит в очередь только междоменную загрузку, давая Flash знать, что можно загружать его всякий раз, когда это необходимо).

1 голос
/ 03 сентября 2010

ваша тема

http://www.actionscript.org/forums/showthread.php3?t=170572

и

http://www.actionscript.org/forums/showthread.php3?t=190239

попробуйте скомпилировать ее для новой FP 10.x

и это http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html

==================== ОБНОВЛЕНИЕ =============================

просто позволяет протестировать

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*.*" />  
    <allow-http-request-headers-from domain="*.*" headers="*" />                        
</cross-domain-policy>  

скопировать crossdomain.xml в корень example.com, я имею в виду htdocs и оставил s3 сэто тоже.

скажите мне версии каждой платформы / языка, который вы используете.

и попробуйте включить в него также последнюю строку кода.

сообщите нам.

...