水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > JSデータのクロスドメイン参照

JSデータのクロスドメイン参照

2006年12月22日(金曜日)

JSデータのクロスドメイン参照

Web2.0時代のAjax Binary Hacks (labs.cybozu.co.jp)」。興味深いお話ですね。

スライドに書かれていますが、クロスドメインでデータをやりとりすること自体は難しいことではありません。script要素src属性には外部のドメインを指定することができるので、任意のデータを含む js ファイルを動的に生成すればあっさり通信できます。そこに着目したのが JSONP で、外部 .js として実行できる形式にすることによって script要素で参照できるようになり、ドメインを超えられるようになったというわけです。

※ふつう、JSON だと XMLHttpRequest を使うのでクロスドメイン参照できません。

※ちなみに、Opera では JSONP による非同期通信がうまくできなかったりするという問題があったりもするようです。

ときどき「JavaScriptはクロスドメインで参照できない」と思っている人がいるようなのですが、それはおそらく XMLHttpRequest の制限と混同しているのだと思います。要注意なのは、JS ファイルは悪意あるサイトからでも普通に読めてしまうということです。つまり、機微な情報を含むような JS ファイルを動的に生成するのはとても危険だということです。

大昔、某所のチャットのサービスは Java Applet で動いていたのですが、わざわざユーザのセッション情報などを含む JS ファイルを動的生成して、その JS から applet要素param要素を生成していました。そういう作りをしていると、ログイン状態で罠サイトを踏んだときに、セッション情報を含むデータを読まれてしまうことがあり得ます。このような作りはとても危険です。

関連する話題: Web / セキュリティ

人気のページ

最近の日記

関わった本など

デザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13Dreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)

その他サイト