3

Cross-Origin Resource Sharing標準について読んでいますが、1 つのことがわかりませんでした。

Authorization ヘッダーを含めて、ドメイン A からドメイン B にリクエストを送信したいとします。私が理解しているように、ドメイン B のサーバーは、ヘッダー Access-Control-Allow-Headers を送信してこれを受け入れる必要があります。

これのポイントは何ですか?Same-Origin ポリシーは、ドメイン B からのデータがドメイン A の Web サイトに漏洩するのを防ぐためのものだと思いました。A がどのヘッダーを B に送信するかがどのように重要なのかわかりません。

4

2 に答える 2

3

さて、私は可能な答えを持っていると思います:

サーバー B は、他の Web サイトの悪意のあるスクリプトが、ログインしているユーザーのコンテキストで要求を送信することを望んでいません。状況:サーバーBは、gmail.comにFooがログインしていると言っています。

サーバー A: Malicioussite.com には、xhr を gmail.com に送信してメールのリストを照会するスクリプトがあります。

Foo は gmail.com にログインしているため、gmail はセッション Cookie を認識してリストを送信します。

これは、gmail.com でクロス オリジン リクエスト ポリシーが許可されている場合にのみ可能です。そうしないと、ユーザー Foo がうっかり行ってしまったサーバー A は、サーバー B (gmail) からデータを取得できません。

ホスティング サイト (xhr を送信するサイト) を保護することではありません。サイト A が意図的にデータをサーバー B に送信することを望んでいる場合、送信しない理由がないからです。サーバー A のページから xhr を送信しているブラウザー スクリプト/マルウェアがある場合、データは既に侵害されています。

サーバーBをXSSから保護する方法は次のとおりです。

于 2013-08-01T11:07:56.270 に答える