Чи може хтось опублікувати добре сформований зразок crossdomain.xml?


80

Я читав, що Adobe зробив crossdomain.xml жорсткішим у Flash 9-10, і мені цікаво, хтось може вставити мені копію тієї, яка, на їхню думку, працює. Виникли проблеми з пошуком нещодавнього зразка на веб-сайті Adobe.


Це може здатися небезпечно очевидним, але як розробник Flash із 10-річним досвідом роботи я можу сказати вам, що кожен файл політики, який я коли-небудь реалізовував, не працював, навіть не вдавав, що працює ... до сьогодні. Виявляється, вам потрібно ФАКТИЧНО ЗАвантажити файл політики самостійно. Документи звучать так, ніби Flash автоматично почне шукати файли crossdomain.xml сам по собі до появи помилки SecuritySandbox. Тож якщо ви боретесь, переконайтеся, що
ЗАГРУЖАЄТЕ

Відповіді:


103

Це те, що я використовував для розробки:

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

Це дуже ліберальний підхід, але для моєї заявки це чудово.

Як зазначали інші нижче, остерігайтеся ризиків цього.


30
Це працює в певному сенсі, але зверніть увагу на ризики: це означає, що будь-який веб-сайт може надсилати запити на ваш веб-сайт від імені користувача, файли cookie та все, а також читати відповідь без проблем. Для більшості веб-програм це величезна уразливість системи безпеки. Тож, хоча цей підхід має своє місце, будь ласка, знайте про ризики та вживайте суворий підхід до білого списку, коли це необхідно (що майже завжди стосується виробничих додатків).
Matchu

3
Ви НЕ використовувати це поза розвитку. Це точно відповідає прикладу "погано налаштованого crossdomain.xml" із загартованого проекту PHP .
Greg K

2
якщо ви обслуговуєте файл самостійно, не забудьте встановити правильний contentType: "text / x-cross-domain-policy"
fiffy

Існує одна (і лише одна) обставина, коли це може бути прийнятним у виробничому середовищі: де ви встановлюєте його в домені, який обслуговує лише статичні файли для використання програм в інших доменах. Приклад: у вас є субдомен "images.mydomain.com", який обслуговує всі зображення вашого сайту (імовірно, використовуючи якийсь CDN) і нічого іншого .
Periata Breatta

34

Якщо ви використовуєте веб-сервіси, вам також знадобиться елемент 'allow-http-request-headers-from'. Ось наша політика за замовчуванням, розробка «дозволити все».

<?xml version="1.0" ?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*"/>
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

22
можливо, вам слід згадати, якщо / як це може бути небезпечним?
Філфрео,

Де зберегти цей XML-файл
Sajitha Rathnayake

Я завжди використовую схему Adobe. Ось приклад вільного: http://stackoverflow.com/a/26433744/257319

Зберігайте на рівні домену, на який ви хочете, щоб це вплинуло. напр. example.com/crossdomain.xml
iedoc

30

Погляньте на Twitter:

http://twitter.com/crossdomain.xml

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
    <allow-access-from domain="twitter.com" />
    <allow-access-from domain="api.twitter.com" />
    <allow-access-from domain="search.twitter.com" />
    <allow-access-from domain="static.twitter.com" />
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-http-request-headers-from domain="*.twitter.com" headers="*" secure="true"/>
</cross-domain-policy>


9

На виробничому майданчику це здається придатним:

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="www.mysite.com" />
<allow-access-from domain="mysite.com" />
</cross-domain-policy>

5

Раніше версія crossdomain.xml була упакована до HTML5 Boilerplate, яка є продуктом багаторічного ітеративного розвитку та поєднання знань спільноти. Однак з тих пір його було видалено зі сховища. Я скопіював його дослівно тут і включив посилання на коміт, де його було видалено нижче.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <!-- Read this: https://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->

  <!-- Most restrictive policy: -->
  <site-control permitted-cross-domain-policies="none"/>

  <!-- Least restrictive policy: -->
  <!--
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*" to-ports="*" secure="false"/>
  <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
  -->
</cross-domain-policy>

Видалено в # 1881
https://github.com/h5bp/html5-boilerplate/commit/58a2ba81d250301e7b5e3da28ae4c1b42d91b2c2

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.