crossdomain.xmlの件
Flashは、セキュリティの問題から自分と同じドメインか、ドキュメントルートに以下のようなcrossdomain.xmlが置かれているサイトのファイルでないと参照できないようになっています。
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy>
現在Web APIを作っているのですが、Flex2を使っている身としては、便利なので是非crossdomain.xmlを置きたい所です。
AmazonやYahoo!やフォト蔵は置いていることを確認しました。字幕.inも置いてあったのですが、APIがうまく動いていませんでした。
一方、はてなやKizasiやぐるなびは置いていませんでした。
ざっと見た感じだと、意外に置いてあるところが多いです。
はてなが、セキュリティ上問題があるということで置かないようにしているので、置いたらどういう問題があるのかググったところ、以下のページがわかりやすかったです。
Life is beautiful: ウェブサービスAPIにおける『成りすまし問題』に関する一考察
Flashから外部ファイルにアクセスするときに、そのドメインのクッキーも一緒に送ってしまうので、crossdomain.xmlでアクセスを許可していると、ログインユーザしか見えない情報も見えてしまう可能性があるそうです。
特に、はてなはサブドメイン間でクッキーを共有しているので置くわけにはいかないようです。
ということで、セッションをやり取りするようなドメインのサーバの場合でなければ問題はないようなので、APIサーバにcrossdomain.xmlを置く予定です。