Kann jemand ein wohlgeformtes Beispiel für crossdomain.xml posten?

80

Ich habe gelesen, dass Adobe crossdomain.xml in Flash 9-10 strenger gemacht hat, und ich frage mich, ob mir jemand eine Kopie von einer einfügen kann, von der er weiß, dass sie funktioniert. Probleme beim Auffinden eines aktuellen Beispiels auf der Adobe-Website.

CloudMeta
quelle
Dies mag gefährlich offensichtlich erscheinen, aber als Flash-Entwickler mit 10 Jahren Erfahrung kann ich Ihnen sagen, dass jede Richtliniendatei, die ich jemals implementiert habe, nicht einmal so getan hat, als würde sie funktionieren ... bis heute. Es stellt sich heraus, dass Sie die Richtliniendatei tatsächlich selbst laden müssen. In den Dokumenten klingt es so, als würde Flash automatisch nach crossdomain.xml-Dateien suchen, bevor ein SecuritySandbox-Fehler auftritt. Wenn Sie also Probleme haben, stellen Sie sicher, dass Sie die Richtliniendatei
laden

Antworten:

103

Folgendes habe ich für die Entwicklung verwendet:

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

Dies ist ein sehr liberaler Ansatz, aber für meine Bewerbung in Ordnung.

Achten Sie, wie andere weiter unten ausgeführt haben, auf die damit verbundenen Risiken.

Mitch Haile
quelle
30
Dies funktioniert in gewissem Sinne, aber bitte beachten Sie die Risiken: Dies bedeutet, dass jede Website im Namen des Benutzers Anfragen, Cookies und alles an Ihre Website senden und die Antwort ohne Probleme lesen kann. Für die meisten Web-Apps ist dies eine große Sicherheitslücke. Während dieser Ansatz seinen Platz hat, kennen Sie bitte die Risiken und gehen Sie bei Bedarf strikt auf die Whitelist (was fast immer für Produktions-Apps gilt).
Matchu
3
Sie nicht diese außerhalb Entwicklung verwenden. Dies entspricht genau dem Beispiel einer "schlecht konfigurierten crossdomain.xml" aus dem gehärteten PHP-Projekt .
Greg K
2
Wenn Sie die Datei selbst
bereitstellen
Es gibt einen (und nur einen) Umstand, unter dem dies in einer Produktionsumgebung akzeptabel wäre: Wenn Sie es in einer Domäne installieren, die nur statische Dateien für die Verwendung von Anwendungen in anderen Domänen bereitstellt. Beispiel: Sie haben eine Subdomain "images.mydomain.com", die alle Bilder Ihrer Site (vermutlich unter Verwendung einer Art CDN) und sonst nichts bereitstellt .
Periata Breatta
34

Wenn Sie Webservices verwenden, benötigen Sie außerdem das Element 'allow-http-request-headers-from'. Hier ist unsere Standardrichtlinie für die Entwicklung "Alles zulassen".

<?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>
Die Hose
quelle
22
Vielleicht sollten Sie erwähnen, ob / wie dies gefährlich sein könnte?
Philfreo
Wo diese XML-Datei zu speichern
Sajitha Rathnayake
Ich verwende immer das Schema von Adobe. Hier ist ein Beispiel für eine lose: http://stackoverflow.com/a/26433744/257319
Speichern Sie auf der Domain-Ebene, die Sie beeinflussen möchten. z.B. example.com/crossdomain.xml
iedoc
30

Schauen Sie sich Twitter an:

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>
Zhami
quelle
9

In der Produktionsstätte scheint dies geeignet:

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

Eine Version von crossdomain.xml wurde früher mit dem HTML5 Boilerplate verpackt, das das Produkt langjähriger iterativer Entwicklung und kombinierten Community-Wissens ist. Es wurde jedoch inzwischen aus dem Repository gelöscht. Ich habe es hier wörtlich kopiert und einen Link zum Commit eingefügt, wo es unten gelöscht wurde.

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

Gelöscht in # 1881
https://github.com/h5bp/html5-boilerplate/commit/58a2ba81d250301e7b5e3da28ae4c1b42d91b2c2

ThisClark
quelle