0

サイトに次のcrossdomain.xml構成がある場合。次のことは何を意味しますか?

次に、サイトA(http)がS3にアップロードするフラッシュアップローダースクリプトをホストしている場合、このcrossdomain.xmlファイルはS3ルートディレクトリに安全に保存できますか?

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <!-- 
    Read this: 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"/>

  <!--
    If you host a crossdomain.xml file with allow-access-from domain="*"    
    and don’t understand all of the points described here, you probably     
    have a nasty security vulnerability. ~ simon willison
  -->
</cross-domain-policy>
4

1 に答える 1

1

これは最も寛容なバリエーションであり、おそらくサイトの所有者ではなく、ホストによって提供されます。これは、permited-cross-domain-policiesノードが原因です。他の人のサイトをホストしていない自分のサイトの場合は、ルールをこの1つのファイルのみに制限する必要があります。

allow-access-fromを使用すると、HTTPSからロードされたコンテンツがHTTP経由でこのドメインに呼び出しを行うことができます。その逆も可能です。これはあなた自身のサイトではおそらく許可されないものですが、誰が知っているか、時々広告がそれをする必要があります。このファイルはHTTP(S)経由でのみアクセスされるため、このコンテキストでのto-ports属性は効果がないと思います。通常、パブリックサーバーではポート80/443でリッスンします。

allow-http-request-headers-fromは冗長に見えますが、ポリシーが過去に大幅に変更されたかどうかはわかりません...デフォルトで制限されているが、送信できるヘッダーはありません。それ以外の場合はFlashから。もしあれば、クライアント側でより厳しい制限があります。

他の質問ですが、もちろん、すべてのサイトではなく、サイトAのみに制限します。また、このクロスドメインをマスターとして宣言します(子クロスドメインを許可する代わりに)。おそらく、allow-http-request-headers-を完全に削除し、to-ports属性も削除します。SWFがHTTPS経由で読み込まれる状況が発生する可能性があるが、HTTPを使用してアップロードしようとする場合は、セキュア属性をそのままにします。それ以外の場合は、削除するか、trueに設定します。

それ以上に…まあ、これは「ボーナス」です。Flash HTTPとの多くの性交の結果、時間と必要な機能があれば、たとえばサーバーモジュールを追加したり、サーバーの機能に影響を与えたりする可能性があるという結論に達しました。たとえば、ソケットクロスドメインポリシーを提供できるようにするApacheモジュールがあります。半分のAdobeの実装を使用するのではなく、Socketクラスを使用して必要なHTTPの部分を実装することをお勧めします。

クロスドメインビジネス全体では、実際には隠すことによるセキュリティであるのに、誤った安心感を与える可能性があります。非常に不便であるため、Flash自体にHTTPの実装がないことと相まって、HTTPを再発明するよりもはるかに悪いことをしなければならない場所に出くわすことになります:)。たとえば、応答ヘッダーが必要になると、そのことを覚えているでしょう...;)

于 2012-08-06T07:12:45.733 に答える