ActionScript3 でサンドボックス例外を出さずにクロスドメイン(crossdomain.xml) を正常動作させる

crossdomain.xml を久しぶりに s3 や cloudfront で稼動させようとして
セキュリティサンドボックス侵害が発生

基本を忠実に守りましょうということでした orz

現時点でのオフィシャル情報元

http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html

youtube などのルートに存在する crossdomain.xml と同じものを
s3 に転送して Flash からアクセスするとサンドボックス例外が発生

以下のコンテキスト設定もやりましたが結局は Content-Type がおかしかったのが原因 orz

s3 で crossdomain.xml をブラウザの Management Console からアップロードしたときに
s3 側での自動設定が中途半端な Content-Type になっていたので明示的に設定したほうがいいです。
(Security.loadPolicyFile でもエラーがないというとんでもない状態www)

 

LoaderContext の applicationDomain を設定が必須
オプションで securityDomain, checkPolicyFile も設定が必要かも

	var context:LoaderContext = new LoaderContext();
	context.applicationDomain = ApplicationDomain.currentDomain;
	context.securityDomain = SecurityDomain.currentDomain;

参考元: http://level0.kayac.com/#!2009/10/loader_-_loadercontext.php

 

ランタイムエラー一覧:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/runtimeErrors.html

http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/runtimeErrors.html

This entry was posted in ActionScript3, AWS, CloudFront, crossdomain, S3. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>