Файл главной политики и crossdomain.xml в подкаталогах

У меня есть swf на localhost, который пытается прочитать текстовый файл с другого сервера - example.com. Текстовый файл находится в подкаталоге, как показано ниже: example.com/test/example.txt.

Сначала вот содержимое корня и подкаталога:

www.example.com:

/crossdomain.xml

<?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="*" secure="false" />
</cross-domain-policy>

/test/crossdomain.xml

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

/test/example.txt

Теперь, если я прямо упомяну в своем сценарии действий следующее:

Security.loadPolicyFile("http://example.com/test/crossdomain.xml");

А затем загрузите: http://example.com/test/example.txt в сценарий действий. Теперь первое действие должно заключаться в проверке главного файла политики в корневом каталоге, чтобы проверить, разрешает ли его метаполитика загрузку crossdomain.xml из тестовой папки. Поскольку здесь метаполитика определяет «только для мастера», я предполагаю, что файл политики, указанный в security.loadpolicyfile (), не будет загружен. Но у меня вопрос: после этой проверки будет ли главный файл политики разрешать запрос доступа к текстовому файлу из тестовой папки из-за политики <allow-access-from domain="*" secure="false" />, указанной в главном файле политики?


person ssn    schedule 16.04.2013    source источник
comment
Вы пробовали это или что-нибудь еще, чтобы посмотреть, как оно себя ведет? Извините, но похоже, что вы могли бы ответить на этот вопрос, попробовав ... или, по крайней мере, поделитесь с нами результатами ваших тестов.   -  person Sunil D.    schedule 16.04.2013
comment
Вопрос был направлен больше на понимание того, следует ли разрешить это в соответствии с принципами безопасности, а не на проверку того, что это работает. Я включил свои выводы в качестве ответа. Спасибо.   -  person ssn    schedule 24.04.2013


Ответы (1)


Согласно спецификации политики Adobe Crossdomain,

  1. SWF видит, что указана междоменная политика.
  2. Он проверяет главный файл политики, чтобы узнать, разрешен ли указанный файл политики.
  3. Поскольку указанный главный файл политики не разрешен, ПО УМОЛЧАНИЮ загрузить главный файл политики и предоставить соответствующее разрешение.
person ssn    schedule 23.04.2013
comment
Не знаю, что это значит, но пытаюсь решить ту же проблему. Когда я переключил свой сервер на использование https, у него начались проблемы при локальном тестировании. Я разместил здесь аналогичный вопрос: stackoverflow.com/questions/41318685/. - person 1.21 gigawatts; 25.12.2016