4

サブドメイン間での呼び出しの使用に関して、StackOverflow やその他の情報源からの矛盾する情報を調整するのに苦労しています。共通のドメインを共有する次の 2 つの独立したサイトについて考えてみましょう。

  • サイト #1:www.myDomain.com
  • サイト #2:sub.myDomain.com

要件:

  1. サイト #1 は、 経由でサイト #2 への AJAX 呼び出しを実行できる必要がありますsub.myDomain.com/handler.ashx
  2. サイト #1 とサイト #2 は、互いの Cookie を読み取れる必要があります。

これらの要件は、次の質問につながります。

  1. sub.myDomain.com/handler.ashx にあるハンドラー コードは、CORS を許可するように応答ヘッダーを変更する必要がありますか? 私はこのような呼び出しを書くことができることを知っています:

    resp.Headers.Add("Access-Control-Allow-Origin","*");
    

    …しかし、私が読んだところによると、これはハンドラーをすべてのドメインに公開します。から発信されたものへの呼び出しを制限したいだけです*.myDomain.com。CORS ヘッダーをまったく含めない場合はどうなりますか? デフォルトの動作は何ですか?

  2. サイト #1 および/またはサイト #2 は、2 つのサイトが互いの Cookie を読み取るために、HttpCookie の Domain プロパティを微調整する必要がありますか?

    ドメインのプロパティにまったく触れない場合はどうなりますか? デフォルトの動作は何ですか? 一部のフォーラムの回答は、Cookie の範囲がサブドメインに限定されることを示唆していますが、他の回答は、ドメイン全体が範囲内にあることを示唆しており (これが私が望んでいることです)、その場合、私の側では何もする必要はありません。

4

2 に答える 2

0

CORS 仕様はオール オア ナッシングです。*、null、または正確なドメインをサポートできます: http://www.w3.org/TR/cors/#access-control-allow-origin-response-header

ASHX ハンドラーでは、regex を使用してオリジン ヘッダーを検証する必要があります。その後、Access-Control-Allow-Origin 応答ヘッダーでオリジン値をエコーできます。

于 2013-09-13T11:05:00.410 に答える