誰かが整形式のcrossdomain.xmlサンプルを投稿できますか?


80

私はAdobeがフラッシュ9-10でcrossdomain.xmlをより厳しくしたことを読んでいて、誰かが私に彼らが働くと知っているもののコピーを貼り付けることができるのだろうかと思っています。Adobeのサイトで最近のサンプルを見つけるのに問題があります。


これは危険なほど明白に思えるかもしれませんが、10年の経験を持つFlash開発者として、私がこれまでに実装したすべてのポリシーファイルは、機能するふりをすることさえできずに失敗したと言えます...今日まで。ポリシーファイルを実際に自分でロードする必要があることがわかりました。ドキュメントでは、SecuritySandboxエラーが発生する前に、Flashが自動的にcrossdomain.xmlファイルを自動的に検索するように聞こえます。ですから、あなたがポリシーファイルをロードしている、作る苦労している場合:Security.loadPolicyFile(「example.com/crossdomain.xml」
1owk3y

回答:


103

これは私が開発に使用しているものです:

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

これは非常にリベラルなアプローチですが、私のアプリケーションには問題ありません。

他の人が以下で指摘しているように、これのリスクに注意してください。


30
これはある意味では機能しますが、リスクに注意してください。これは、どのWebサイトもユーザーに代わってWebサイトにリクエストを送信し、Cookieやすべてを送信し、問題なく応答を読み取ることができることを意味します。ほとんどのWebアプリにとって、これは大きなセキュリティの脆弱性です。したがって、このアプローチにはその場所がありますが、リスクを認識し、必要に応じて厳密なホワイトリストアプローチを採用してください(ほとんどの場合、本番アプリの場合です)。
matchu 2011

3
これを外部開発で使用しないでください。これは、強化されたPHPプロジェクトの「不適切に構成されたcrossdomain.xml」の例と完全に一致します。
グレッグK

2
自分でファイルを提供している場合は、正しいcontentTypeを設定することを忘れないでください: "text / x-cross-domain-policy"
fiffy 2015

これが実稼働環境で受け入れられる状況は1つ(そして1つだけ)あります。それは、他のドメインのアプリケーションを使用するための静的ファイルのみを提供するドメインにインストールする場合です。例:サイトのすべての画像(おそらく何らかのCDNを使用)を提供する「images.mydomain.com」サブドメインがあり、他には何もありません
Periata Breatta 2016

34

Webサービスを使用している場合は、「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
おそらく、これが危険であるかどうか/どのように危険である可能性があるかについて言及する必要がありますか?
philfreo 2010

このXMLファイルの保存場所
Sajitha Rathnayake 2014

私はいつもAdobeのスキームを使用しています。緩いものの例を次に示します。http

影響を与えたいドメインレベルで保存します。例えば。example.com/crossdomain.xml
iedoc 2014年

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ボイラープレートにパッケージ化されていましたただし、その後リポジトリから削除されました。ここに逐語的にコピーし、以下に削除されたコミットへのリンクを含めました。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.