2009-02-25 16 views
7

私はサイトがあり、crossdomain.xmlまたはclientaccesspolicy.xmlを持っていないとしましょう。crossdomain.xmlとclientaccesspolicy.xmlの意味は何か。 PHP/cURL?

これは、人々がSilverlightまたはFlashアプリケーションから自分のサイトにアクセスできないことを意味します。

しかし、彼らは使用することができ、自分のサイトから情報を取得し、RESTやWebサービス経由で自分のSilverlightとのFlashアプリケーションにそれを提供するために、PHPのカール(または他の言語で相当)と言う、など

  • 誰かがこれらの制限が自分のサイトをどのように保護しているか正確に説明できますか?クロスドメインスクリプティングからですか?

  • PHP/cURLで対応できないものは何ですか?はスクリプトを使用して自分のサイトにアクセスできますか?

答えて

12

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をダウンロードできません。

関連する問題