Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Как флешке обойти crossdomain.xml (http://www.flasher.ru/forum/showthread.php?t=143891)

Dr.And 28.08.2010 13:51

Как флешке обойти crossdomain.xml
 
Извините, если тема создана не совсем в том разделе...
Такая ситуация:
Есть флешка, которая должна играть потоковое аудио,
используя поток с другого домена. Естесссно на другом
домене файла crossdomain.xml нет, то есть и доступа флешке тоже.
Но есть такая инфа:
Цитата:

Политика безопасности, которая появилась еще в Flash Player 6 - не позволяет нам, загружать данные с доменов, которые не являются родительскими к swf-ке, в которую мы грузим эти самые данные. Чтобы обойти эту проблему необходимо, в корне домена, откуда мы грузим данные создать некий файл - crossdomain.xml.
Про это давно всем известно. Но ведь не каждый домен, “у себя в корне”, будет размещать этот самый crossdomain.xml, например сервис прогноза погоды. Обойти проблему безопсности можно элементарнейшим php-скриптом:
< ? php
$str = implode ('', file ("http://domain.com/file.xml"));
echo $str;
?>

и этот php-файл указывать в качестве загружаемой xml-ки.
Кто знает, как реализовать доступ моей флешке к потоку,
пожалуйста поделитесь опытом. Заранее спасибо.

gloomyBrain 28.08.2010 13:58

Если доступ не предоставляется владельцем потока (нет crossdomain.xml), то по простому никак.
Единственное, что можно сделать - это как-то грузить поток самостоятельно и со своего домена отдавать его флешке. Для этого необходим сервер, который будет этот самый поток перехватывать (серверу croosdomain.xml не нужен).

Dr.And 28.08.2010 15:02

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

Гы. Такое реализовать я не смогу...
Даже думать страшно, как это реализовать вообще.
ППЦ. Нах Adobe в топку!

Котяра 28.08.2010 23:19

раньше был хороший сайт nocrossdomain.com потом его запилили, но думаю аналоги можно найти.
т.е. обращаться не на напрямую
securesite.com/some.jpg, а как nocrossdomain.com?securesite.com/some.jpg

FMS 29.08.2010 01:07

Котяра
Цитата:

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

Единственная возможнось это делать что то типа Origin Edge и брать FMS как прокси

Psycho Tiger 29.08.2010 16:51

etc и alexcon выкладывали где то свои методы, как можно обойти это.
Помню даже метод у alexcon`а назывался "FuckCrossDomain".

Только это дырка и расчитывать на неё не стоит.

FMS 30.08.2010 00:59

2 Psycho Tiger
Подкрепите ваши утверждения линком, пожалуйста.

Psycho Tiger 30.08.2010 11:38

Ой, ошибся. Не alexcon, а Mur4ik.
И там не про потоковое аудио, а про фишки с Loader`ом - по старости тем запамятовал. Но всё же:
Решение от Mur4ik
Решение от etc

FMS 30.08.2010 14:13

Цитата:

И там не про потоковое аудио, а про фишки с Loader`ом
а здесь про потоковое видео.

Обойти crossdomain для картинок это небольшое искусство. Пару строчек на том же PHP и готово, выдумывать ничего не надо.

Обойти же crossdomain для потокового аудио/видео можно только при помощи какого либо mediaserver, ну скажем того же FMS

Psycho Tiger 30.08.2010 14:41

Я знаю - я написал ведь, что запамятовал о чем там. Мне казалось там не про Loader`ы дело было.

djyamato 28.11.2010 03:48

Цитата:

Сообщение от FMS (Сообщение 932299)
Обойти crossdomain для картинок это небольшое искусство. Пару строчек на том же PHP и готово, выдумывать ничего не надо.

Подскажите, а где эти пару строчек посмотреть-то ? Будьте добры

FMS 28.11.2010 13:22

Цитата:

Сообщение от djyamato (Сообщение 953066)
Подскажите, а где эти пару строчек посмотреть-то ? Будьте добры

simplexml_load_file()
header()

вот 2 функции которые тебе понадобятся

Alex144 22.12.2010 14:55

У меня есть подобная проблема - пользователь загружает флэшку с сервера domen.ru - затем пользователь через эту флэшку обращается по сети к железке на которой есть только TELNET ( telnet remoutedomen.ru 8000) то есть на этой железке ни какого файла кросдомена.xml там НЕТ.
В политиках сервера domen.ru естественно все разрешено, но флэшка упрямо лезет на remoutedomen.ru 8000 и пытается получить файл политики и отваливается.
вот что в логах:

SandBox - remote
Trying to connect to remoutedomen.ru:8000
securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Нарушение изолированной среды: http://domen.ru/TelnetSocket.swf не может загрузить данные из remoutedomen.ru:8000."]


OK: Выполняется поиск директив <allow-access-from> в файлах политики, чтобы авторизовать загрузку данных из ресурса в папке xmlsocket://remoutedomen.ru:8000 инициатором запроса из http://domen.ru/TelnetSocket.swf
Предупреждение: Тайм-аут ожидания файла политики для сокетов в xmlsocket://remoutedomen.ru:843 (через 3 секунды). Это не должно вызывать проблем. Пояснения см. на веб-странице http://www.adobe.com/go/strict_policy_files_ru.
Предупреждение: [строгое правило] Игнорируется файл политики с неправильным синтаксисом: xmlsocket://remoutedomen.ru:8000
Ошибка: Запрос ресурса по адресу xmlsocket://remoutedomen.ru:8000 инициатором запроса из http://domen.ru/TelnetSocket.swf отклонен из-за отсутствия разрешений файла политики.

ВОПРОС:
Как заставить флэшку не лезть на remoutedomen.ru за файлом политики сокетов???

leofit 22.12.2010 16:16

можно и телнетом отдавать настройки доступа
можно повесить прокси на выходе с железки и отдавать кроссдомен там

Alex144 22.12.2010 19:29

ПРОКСИ хмм..., а что прямее путей нет? В топку тогда этот адоб если он простые сокеты так заморочил....
(железка - это примитивное устройство с IP адресом и телнетом и отдавать ни чё более она не могёт)


Часовой пояс GMT +4, время: 15:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.