5

ドメインAからドメインBにCookieからデータを送信するjsonPに取り組んでいました。うまく機能しますが、私の質問はここではありません。scriptドメイン B にドメイン A を指すタグのみを配置すると、ドメイン A のすべての Cookie がドメイン B に設定されることに気付きました。

例: このタグをドメイン B に配置します。

<script src="http://mydomainA.com/"></script>

それだけで、ドメイン A のすべての Cookie がドメイン B に設定されます。私の質問は、それは正常ですか? Cookie をクロスドメインにするためにハックが必要だと思っていましたが、それほど簡単ではないと思いました。

私の下手な英語で申し訳ありません。私の質問がばかげていたり、以前に尋ねられたことがある場合はお詫び申し上げます。

前もって感謝します。

4

1 に答える 1

5

Cookie は、HTTP 要求の単なるヘッダーです。ブラウザがリクエストするとき

GET /foo
Host: a.com

<script>別のドメインでホストされているタグを含む HTML ドキュメントを受け取ります。したがって、別のリクエストが発生します。

GET /script.js
Host: b.com
Cookie: foobarbaz

また、 domain の Cookie を追加することもできますb.com(存在する場合)。これは、ブラウザが最後に に接続したときb.comに、HTTP 応答に次のようなヘッダーが含まれていたことを意味します。

...
Set-Cookie: foobarbaz
...

したがって、同じドメインへの後続のリクエストはセッションを維持します。ブラウザが別のリソースをリクエストしたa.comとき

GET /bar.jpeg
Host: a.com

foobarbazによって設定された Cookieはリクエストとともに送信されb.com ないa.comため、 のスクリプトは からのデータにアクセスできませんb.com

于 2012-12-11T11:00:54.547 に答える