PHPはサーバサイドの技術であり、コードはユーザのマシンではなくサーバ上で実行されます。 Silverlightは、ユーザーのマシンで実行されるクライアント側のテクノロジです。
Silverlightコードが任意のドメインに対して任意のWeb要求を行う可能性がある場合、これはクロスサイトスクリプティング攻撃のホスト全体への扉を開くでしょう。
イメージこのシナリオ:
ボブはwww.OnlineBanking.comに行き、アカウントの残高を確認するためにログインします。彼は別の住所にナビゲートしてこのサイトを離れる。彼は「ログアウト」をクリックしないので、彼はまだログインしています(代わりに、彼は新しいブラウザウィンドウ/タブを開いて、銀行サイトを開いたままにします)。
Bobは、Silverlightアプリケーションを含むevil.comを参照します。
Silverlightアプリケーションがダウンロードされ、Bobのマシン上で実行されます。
このアプリケーションは、www.OnlineBanking.com/secretaccountdetails.htmlへのWebリクエストを行います。このファイルは読み取りに認証が必要です(evil.comは認証されていないためアクセスできません)。
ボブしかし、ISが認証され、要求は成功します。 Silverlightアプリケーションは、このファイルの内容を読み込み、それが好きなもの(evil.comに送信することを含む)を行うことができます。
Silverlightのクロスドメイン要求の制限により、上記のシナリオが実行されません。 OnlineBanking.comへのSilverlightアプリのリクエストが行われると、アプリが別のドメインから配信されたため、クロスドメインポリシーファイルがチェックされます。 OnlineBanking.comにはドメイン間の要求を許可するポリシーファイルがないため、要求は失敗し、Silverlightアプリケーションはsecretaccountdetails.htmlをダウンロードできません。