![]() |
Ошибка безопасности
Добрый вечер! Стоит задача разработать онлайн чат для сайта. Пребегли к помощи бинарных сокетов. Но в флеше нужно дать отачу файла безопасности, дабы не было ошибки "[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]"
Вот сам файл, написанный на perl: Код:
#!/usr/bin/perl |
А где содержимое самого файла политик?
|
Это он и есть
|
Это не он. Кто вообще писал этот скрипт?
В перл не силен, но тут и перл знать не надо, чтобы понять, что ссылка на файл политик должна выделяться из переданных аргументов с помощью регулярного выражения вот здесь: Код:
while ( my $arg = shift @ARGV ) |
Приведенный перл-скрипт не что иное, как реализация на перле простейшего сокет-сервера (вполне себе достойная реализация, нужно отметить).
При запуске этого скрипта на сервере создается сокет, слушающий определенный порт (843 по умолчанию) и при коннекте на него клиенту отдается содержимое файла политик безопасности. Т.е. что нужно: - создать собственно сам файл политик (формат файла см. в справке адоба) - положить этот файл в какую-либо директорию на сервере - запустить на сервере скрипт "policyd.pl --port=843 --file=<путь_к _файлу_политик>" и убедиться, что запустился он без ошибок - и только после этого пытаться запустить флешку на клиенте Полезно в момент запуска флешки на клиенте смотреть на сервере консольный вывод запущенного скрипта. |
Вы имеете ввиду вот этот файл?
Код:
<?xml version="1.0"?> |
Мы - да.
|
Значить файл есть. Почему тогда есть ошибка? Может для ответа нужна дополнительная информация - спрашивайте, всё расскажу.
|
Расставьте промежуточный вывод. Проверьте записывается ли содержимое этого файла в переменную. И, кстати, флешплеер точно стучится туда с запросом файла политик?
|
Код AS3:
|
Вот когда начинают мешать в одну кучу "локально", "на сервере" лично у меня случается split-brain.
Давайте так, вы подробно опишете порядок ваших действий, типа компилю флешку, загружаю ее на сервер вместе с html-страницей, куда она встроена, открываю страницу с флешкой в браузере, перл-скрипт запустиь на сервере не забыл, он вывел в консоль такие вот строки и т.п, и приведете пример кода флешки, где вылазит ошибка. Потом, loadPolicyFile применять как бы нужно по назначению, например, если файл политик отдается на другом порту, отличном от дефолтного 843 порта. Вам loadPolicyFile ни к чему. |
Вот что:
отдачу файла политики на 843 должен запустить файл zapusk.sh (написанный на ShellScript). При запуске файла /zapusk.sh сервер выводит информацию Listening on port 843. Тут же, не закрывая окно putty, проверка ps -A - ничего не запущено на 843 порту. Вот из-за этой фишки то и не работает адекватно. Как её можно решить? |
Так в линуксе для запуска хоть чего на порту ниже 1024 нужны права рута. Права то точно суперпользователя? Может без должных привилегий запускается скрипт?
Попробуйте другой порт, скажем 12000 туда поставить, и, соответственно во флешке запросить файл политик с этого порта |
В том-то и дело, что я пользуюсь пользователём root. И если бы не было прав root-а, то разве выводило б Listening on port 843?
P.S. вот код zapusk.sh: Код:
perl /policyd.pl --file=/policy.xml --port=843 &P.S.S.S. Хотя, я беру свои слова назад. Помогло. Первый раз после перезагрузки видать из кеша данные взялись. Работает. Хотя, почему не подключается на 843-й? Ведь у меня права рута были?! |
Цитата:
UPD. пардон, не заметил & в команде запуска. Все нормально должно быть. |
Цитата:
Цитата:
там, где у меня передается ссылка на флеш ролик в SWFObject, я просто к ссылке добавляю рандомный параметр Код AS3:
|
| Часовой пояс GMT +4, время: 02:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.