トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     System.security.loadPolicyFileについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nao
Åê¹ÆNo.18368
投稿日時: 2005-6-25 17:19
職人
居住地:
投稿: 208
使用環境:
WinXP Pro
Flash8 Professional
System.security.loadPolicyFileについて
FlashPlayer7.0.19から
System.security.loadPolicyFileをつかってWebサーバのドキュメントルート/crossdomain.xml以外からも取得できるようになったようなので試してみたのですがうまくいきません.

ソースコードは以下のようにしています.

var objLoad = new LoadVars();
var target = this;

objLoad.onLoad = function(success) {
  if (success) {
    target.test_txt.text = this.test; 
  }
  else {
    target.test_txt.text = 'load error';
  }
};

System.security.loadPolicyFile("https://****domain/****folder/crossdomain.xml");
objLoad.load('https://****domain/****folder/text.txt');

ローカルからだともちろん期待通りの動きをします.
しかし,サーバへあげるとうまくいきません…

通信は
AというドメインからBというドメインのHTTPSへデータを取得しようとしています.

HTTPヘッダーを見てみると
https://****domain/****folder/crossdomain.xml
を読みに言った後に,
objLoad.load()の際にさらに
https://****domain/crossdomain.xml
へデータを取りにいっているように見えます.
(もちろん,ないのでNot Found)
これで,許可されないため取得ができないのかなと思うのですが…


引用:
[リクエスト]
https://****domain/****folder/crossdomain.xml

GET /***folder/crossdomain.xml HTTP/1.1
Accept: */*
x-flash-version: 7,0,19,0
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: ****domain
・・・(略)・・・

[レスポンス]
HTTP/1.1 200 OK
Content-Length: 205
Content-Type: text/xml; charset=UTF-8
Content-Location: https://****domain/folder/crossdomain.xml
・・・(略)・・・


[リクエスト]
https://****domain/crossdomain.xml

GET /crossdomain.xml HTTP/1.1
Accept: */*
x-flash-version: 7,0,19,0
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: ****domain
・・・(略)・・・

[レスポンス]
HTTP/1.1 404 Not Found
Content-Length: 1621
Content-Type: text/html
・・・(略)・・・


ちなみにobjLoad.load()をコメントアウトするとcrossdomain.xmlは一切取得していないようです…

何かloadPolicyFileの使い方を間違えているでしょうか??


----------------
nao [seto@graffiti-web.org]

youich
Åê¹ÆNo.18378
投稿日時: 2005-6-25 20:39
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: System.security.loadPolicyFileについて
naoさんこんにちは、
引用:

通信は
AというドメインからBというドメインのHTTPSへデータを取得しようとしています.

HTTPヘッダーを見てみると
https://****domain/****folder/crossdomain.xml
を読みに言った後に,
objLoad.load()の際にさらに
https://****domain/crossdomain.xml
へデータを取りにいっているように見えます.

httpsのドメイン超えはやったことがないんですが、
httpドメインから別httpドメインのデータを得ようとする時に
crossdomain.xmlを読み込もうとするのは最初のloadPolicyFileだけだったと思います。
で↓を
http://www.macromedia.com/jp/devnet/mx/flash/articles/fplayer_security_03.html
みるとcrossdomain.xmlにsecure="false"がいるんじゃないかと思うんですけど
その辺りはいかがでしょう?実際に試してないのでまったく当てになりませんが(笑)

引用:
[リクエスト]
https://****domain/****folder/crossdomain.xml

GET /***folder/crossdomain.xml HTTP/1.1
Accept: */*
x-flash-version: 7,0,19,0
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: ****domain
・・・(略)・・・

[レスポンス]
HTTP/1.1 200 OK
Content-Length: 205
Content-Type: text/xml; charset=UTF-8
Content-Location: https://****domain/folder/crossdomain.xml
・・・(略)・・・


[リクエスト]
https://****domain/crossdomain.xml

GET /crossdomain.xml HTTP/1.1
Accept: */*
x-flash-version: 7,0,19,0
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: ****domain
・・・(略)・・・

[レスポンス]
HTTP/1.1 404 Not Found
Content-Length: 1621
Content-Type: text/html
・・・(略)・・・


----------------
- yo

nao
Åê¹ÆNo.18384
投稿日時: 2005-6-26 1:55
職人
居住地:
投稿: 208
使用環境:
WinXP Pro
Flash8 Professional
Re: System.security.loadPolicyFileについて
youichさんありがとうございます.

引用:
crossdomain.xmlにsecure="false"がいるんじゃないかと思うんですけど


すいません…ビンゴでした...

てっきり
swf(https) → data(http)
のときにつけるのかと思い込んでいてそんなテストはしていませんでした… orz...

指定のポリシーファイルが読めないか,読み込めてもデータが取りに行けない場合は,再度Webのドキュメントルートのcrossdomain.xmlを取りにいくようですね.

脱出できてよかったです.ありがとうございました.


----------------
nao [seto@graffiti-web.org]

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops