Нарушение безопасной тестовой среды: отсутствие разрешений для файла политики

Я использую as3httpclientlib для отправки данных в свою веб-службу, но постоянно получаю следующее нарушение безопасности. Кто-нибудь знает, как это решить? Мой файл crossdomain.xml находится под уведомлением о нарушении безопасности.

ПРИМЕЧАНИЕ. Я использую apache для прокси-запросов к веб-службе, поэтому целевой URL-адрес / порт и URL-адрес / порт, обслуживающий апплет, одинаковы, то есть http://192.168.100.101. Кроме того, файл crossdomain.xml расположен в корне веб-приложения app, которое обслуживает апплет, а не веб-службу service; однако, поскольку запросы передаются по прокси, URL-адрес файла http://192.168.100.101/crossdomain.xml

* Нарушение безопасной тестовой среды * Подключение к 192.168.100.101:80 остановлено - не разрешено с http://192.168.100.101/com-web/flex/ComUi.swf Ошибка: запрос ресурса в xmlsocket: //192.168.100.101: 80 отправителем запроса из http://192.168.100.101/com-web/flex/ComUi.swf отклонено из-за отсутствия файла политики разрешения.

<?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-http-request-headers-from domain="*" headers="*" secure="false" />
<allow-access-from domain="*" to-ports="80, 8080" />
</cross-domain-policy>

Спасибо.


person DanMark    schedule 15.04.2011    source источник


Ответы (1)


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

Если вам нужна дополнительная информация о том, как все работает, вы можете проверить это

person Valentin Radu    schedule 15.04.2011
comment
Это верно. as3httpclientlib использует сокеты, и для этого требуется политика сокетов. - person James Ward; 15.04.2011
comment
@mindnoise: Нет, в настоящее время я не использую серверное приложение / демон для обслуживания файла политики. Я понял, что могу указать разрешения в файле crossdomain.xml, а затем использовать Security.loadPolicyFile(url) для получения / применения разрешений. Мое понимание неверно? Обязателен ли «сервер» файла политики? - person DanMark; 15.04.2011
comment
@ Джеймс Уорд: Для пояснения, файл socket policy совпадает с файлом crossdomain.xml? - person DanMark; 15.04.2011
comment
Вы не можете использовать Security.loadPolicyFile (url) просто потому, что игрок будет знать только, что протокол HTTP подходит для использования, но он спросит, как насчет сокета. Значит, вы должны служить ему, другого пути нет. Контент, который вы отправляете, тот же, но это не файл (я обычно его жестко кодирую), это часть информации, отправляемая с сервера клиенту через сокет. - person Valentin Radu; 15.04.2011
comment
@mindnoise: Спасибо за разъяснения; Я создам сценарий для прослушивания порта 843 и обслуживания политик сокетов. - person DanMark; 15.04.2011
comment
Вот пример сервера сокетов python, который отправляет файл политики здесь: adobe.com/ devnet / flashplayer / article / socket_policy_files.html - person James Ward; 15.04.2011