Czy ktoś może opublikować dobrze sformatowaną próbkę crossdomain.xml?


80

Czytałem, że Adobe zaostrzył crossdomain.xml we flashu 9-10 i zastanawiam się, czy ktoś może wkleić mi kopię tego, o którym wie, że działa. Masz problem ze znalezieniem najnowszej próbki w witrynie Adobe.


Może się to wydawać niebezpiecznie oczywiste, ale jako programista Flash z 10-letnim doświadczeniem mogę powiedzieć, że każdy plik zasad, jaki kiedykolwiek zaimplementowałem, zawiódł i nawet nie udawał, że działa ... aż do dzisiaj. Okazuje się, że musisz AKTUALNIE ZAŁADOWAĆ plik zasad samodzielnie. Dokumenty sprawiają, że brzmi to tak, jakby Flash automatycznie szukał plików crossdomain.xml przed wystąpieniem błędu SecuritySandbox. Więc jeśli masz problemy, upewnij się, że
ŁADUJESZ

Odpowiedzi:


103

Oto, czego używałem do programowania:

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

To bardzo liberalne podejście, ale w mojej aplikacji jest dobre.

Jak inni zauważyli poniżej, uważaj na ryzyko.


30
W pewnym sensie to działa, ale zwróć uwagę na ryzyko: oznacza to, że każda witryna internetowa może wysyłać żądania do Twojej witryny w imieniu użytkownika, pliki cookie i wszystko inne, i czytać odpowiedź bez problemu. W przypadku większości aplikacji internetowych jest to ogromna luka w zabezpieczeniach. Tak więc, chociaż to podejście ma swoje miejsce, należy znać ryzyko i w razie potrzeby stosować ścisłe podejście do białej listy (co prawie zawsze dotyczy aplikacji produkcyjnych).
Matchu

3
Czy nie używać tego na zewnątrz rozwój. To dokładnie pasuje do przykładu „źle skonfigurowanego crossdomain.xml” z zaostrzonego projektu PHP .
Greg K,

2
jeśli udostępniasz plik samodzielnie, pamiętaj, aby ustawić poprawny typ contentType: "text / x-cross-domain-policy"
fiffy

Jest jedna (i tylko jedna) okoliczność, w której byłoby to dopuszczalne w środowisku produkcyjnym: gdy instalujesz go w domenie, która obsługuje tylko pliki statyczne do użytku aplikacji w innych domenach. Przykład: masz subdomenę „images.moja_domena.com”, która obsługuje wszystkie obrazy z Twojej witryny (prawdopodobnie przy użyciu jakiegoś rodzaju CDN) i nic więcej .
Periata Breatta

34

Jeśli korzystasz z usług sieciowych, będziesz potrzebować również elementu „allow-http-request-headers-from”. Oto nasza domyślna polityka „zezwalaj na wszystko”.

<?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
może powinieneś wspomnieć, czy / jak może to być niebezpieczne?
philfreo

Gdzie zapisać ten plik XML
Sajitha Rathnayake

Zawsze używam schematu Adobe. Oto przykład luźnego: http://stackoverflow.com/a/26433744/257319

Zapisz na poziomie domeny, na który ma to wpłynąć. na przykład. example.com/crossdomain.xml
iedoc

30

Spójrz na Twittera:

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

W miejscu produkcji wydaje się to odpowiednie:

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

5

Wersja crossdomain.xml była dostarczana z HTML5 Boilerplate, który jest produktem wielu lat iteracyjnego rozwoju i połączonej wiedzy społeczności. Jednak od tego czasu został usunięty z repozytorium. Skopiowałem to tutaj dosłownie i dołączyłem link do zatwierdzenia, w którym został usunięty poniżej.

<?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>

Usunięte w # 1881
https://github.com/h5bp/html5-boilerplate/commit/58a2ba81d250301e7b5e3da28ae4c1b42d91b2c2

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.