マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

XAML Browser Applicationのセキュリティ

XAML Browser Application(XBAP)でどこかのサーバーにアクセスしてRSSのようなデータを持って来れないかなと思ったらセキュリティ関係の例外がでた。やっぱりブラウザでページを開いたら実行されてしまうわけだから危ない可能性があることはさせないわけね。で、どこまでが許されて何が駄目なのか気になったので調べてみたらあっさり見つかった。
http://www.microsoft.com/japan/msdn/windowsvista/general/wpfsecuritysandbox.aspx
いろいろ書いてあるけどネットワークに関しては

ネットワーク アクセス

既定では、インターネット ゾーンでは、アプリケーションの供給元サイトへの Web 要求しか実行できません。これは、インターネット上のページがアクセスできるのが、同じドメインにあるページのドキュメント オブジェクト モデル (DOM) だけであるという、既存の Web ドメイン間セキュリティ モデルに従っています。WPF プラットフォームでは、これらの制約を超えて、イメージ要素やビデオ要素が、供給元以外のドメインのコンテンツを表示することを許可しています。ただし、外部サイトからデコードされたビットを読み取ることは許可されていません。たとえば、外部サイトから取得した画像に対して BitmapSource.CopyPixels メソッドを呼び出すと、WebPermission が要求されます。

理由は、画像と映像の表示が安全な操作とみなされているためです。しかし、外部サイトからの生データにアクセスすると、開発者が外部サイトのデータを取得できることになるため、既定の WebPermission が回避されてしまいます。


とある。画像や映像を表示するだけなら違うドメインでもOK(表示するだけなら危険じゃない)。でもそれ以外は配布したサイトのみ通信可能ということかな。他のサーバーと通信したいならサーバーサイドと組み合わせないといけないな…