サードパーティの Cookie を設定する方法。cde.com、def.com、または ghi.com にアクセスしたときに abc.com に Cookie を設定したように、Cookie を設定すると、訪問した Web サイトで Cookie が有効になります。javascript ですべてのドメインの Cookie を取得する方法を教えてください。
3 に答える
abc.com、cde.com、def.comの代わりにabc.xyz.com、cde.xyz.com、def.xyz.com(サブドメインCookieの場合はgoogle )を使用すると、Cookieを直接共有できます。 。たぶん、あなたのウェブサイトをそのように設定し、それでもあなたの要件を満たすことは可能です。
それ以外の場合、これらのWebサイトのすべてを同じドメインのサブドメインに含めることができない場合は、そのうちの1つを中央のCookieサーバーとして機能させることができ、ユーザーが他のドメインにいる場合は、JSONPを使用してCookie上のスクリプトに誘導できます。 IDなどを送信し、AJAXリクエストを処理するスクリプトでドメインCookieを同じ値に設定するドメイン。例:
- ユーザーがdef.comにアクセスします
- def.comのJavaScriptコードは、abc.comにJSONPリクエストを送信します
- abc.comは、まだ設定されていない場合、Cookieを設定します
- abc.comは、def.comのスクリプトへの応答としてCookie値を返します
- def.comのスクリプトは、ローカルのdef.comCookieを同じ値に設定します
これで、サーバーは統計などを調整できます。
もちろん、これはすべて、すべてのWebサイトが相互に連携している場合にのみ可能です。あなたのウェブサイトは、あなたが管理していない他のウェブサイトのクッキーを台無しにすることはできません。
アップデート:
いくつかのインスピレーションとコード例については、AlexSextonによるBreakingthe CrossDomainBarrierの講演も参照してください。
アップデート:
上記と同様の方法を使用する場合は、クロスサイトリクエストフォージェリ攻撃の可能性など、潜在的なセキュリティの問題を理解してください。Stack OverflowでJSONPセキュリティを検索して、安全にする方法の詳細を確認してください。上記の説明は、理解する必要のあるやや複雑なプロセスを単純化したものであることに注意してください。あなたは警告されました。
ドメインの Cookie のみにアクセスできます。
マルチドメイン Cookie を割り当てることはできません。