2011-02-14 34 views
2

私はPython Gae sdkでフレックスアプリケーションを作成しましたが、エラー2048があるので、crossdomain.xmlを静的フォルダの下に置きます。Pythonでflex crossdomain.xmlを設定する方法Google App Engine Sdk

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM “/xml/dtds/cross-domain-policy.dtd”> 
<cross-domain-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> 

そして、私はapp.yamlをして次の行を追加します: crossdomain.xmlのは以下の通りです

- url: /crossdomain.xml 
    static_files: static/crossdomain.xml 
    upload: static/crossdomain.xml 

は、しかし、私はまだそのため、エラー2048を持って、私が知りたいのですが私が設定するか、私の場合には見逃す必要があり、エラーを修正する方法です。

アドバイスをしてください。ありがとう。

+0

私はGoogle App Engineのについて多くを知らない、またそれは、ディレクトリ構造です。 crossdomain.xmlファイルは、リモートサービスがアクセスしているサーバーのWebルートに存在する必要があります。あなたがあなたのアプリやあなたが呼んでいるサービスに関連してどこに置いたのかは分かりません。それは役に立ちますか? – JeffryHouser

+0

ご意見ありがとうございます。 Gaeの場合、ファイルシステムに直接アクセスすることはできません。app.yamlにサービスまたはファイルを設定する必要があります。 – michael

+0

重要なファイルシステムではなく、FlashPlayerにとって重要なのは 'domain.com/crossdomain.xml'の場所です。 – ocodo

答えて

4

私はFlashでのcrossdomain.xmlを使用していないが、私はUnity3dを持っています。私はそれを働かせて、あなたは正しいものを持っています。

yoursite.com/crossdomain.xmlにアクセスして、ブラウザに表示されていることを確認しましたか?

フラッシュを使用すると、MIMEタイプ(text/xmlまたはapplication/xml)を指定する必要があります本当にうるさいの場合

- url: /crossdomain.xml 
    mime_type: text/xml 
    static_files: static/crossdomain.xml 
    upload: static/crossdomain.xml 

また、「あなたが確認するために、バリでのcrossdomain.xmlをチェックすることをお勧めします/>やそれに類するものを見逃すことはありません。

また、html5boilerplate's crossdomain.xmlをチェックしてください。彼らの最も制限のバージョンが任意のサイトで動作するはずです:

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.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> 
+0

ありがとうカルビン、私はあなたの助けに感謝します。私は "http:// localhost:8080/crossdomain.xml"でcrossdomain.xmlを見ることができます。私は "mime_type:text/xml"を追加しようとしましたが、質問を投稿する前に実際に試してみましたが、crossdomain.xmlを使用しましたが、まだエラー2048があります。 – michael

+0

localhost以外のソースからデータを取り出していますか?ドメインはクロスドメインアクセスを許可する必要があると私は考えているからです。ある時点で、私は ''を持っていましたが、より制限的でした。 – Calvin

+0

他のドメインにはすでにcrossdomain.xmlがあり、アクセスすることもできます。 – michael

1

FlashPlayerは、URLドメインルートのcrossdomain.xmlファイルを探しています。

domain.com/crossdomain.xml 

FlashPlayerが見つけたい場所です。

ただし、Security.loadPolicyFile(url)を使用して、crossdomain.xmlファイルをサーバーの別の場所からロードできます。

More info on Adobe livedocs

+0

あなたの答えをありがとう。 Gaeはドメインルートを定義するのが難しいです。アップデートを参照してください。 – michael

+0

私は既にSecurity.loadPolicyFile(url)を試しました。 crossdomain.xmlをロードすることはできますが、まだエラーが発生します。 – michael

関連する問題