クッキーは発行したホストでしか使用できませんが別ホストでそれを使う方法ってないの?やらない方がいい?

robynne-o-HOrhCnQsxnQ-unsplash.jpg

質問

クッキーは発行したホストでしか使用できませんが別ホストでそれを使う方法ってないの?
やらない方がいい?


ISO/IEC 27002:2022(JIS Q 27002:2024) 情報セキュリティ,サイバーセキュリティ及びプライバシー保護ー情報セキュリティ管理策 解説と活用ガイド [ 中尾 康二 ]

価格:9900円
(2026/6/20 18:07時点)
感想(0件)

実践理解!Webアプリケーション セキュリティ 【電子書籍】[ Malcolm McDonald ]

価格:3828円
(2026/6/20 18:08時点)
感想(0件)


解答

結論から言うと、「そのまま別ホストで使う」ことは基本できないし、無理やりやるのはやめた方がいいです。

クッキーはそもそもそのために制限されています。

ただし、正規の範囲で“共有っぽくする”方法はいくつかあります。


同一ドメイン配下なら共有できる

例えば
app.example.comapi.example.com のような関係なら、クッキーに

  • Domain=example.com

を付けることでサブドメイン間で共有できます。

ただし注意点:
・完全に別ドメイン(example.com と example.net)は無理
・セキュリティ的に影響範囲が広がる(どのサブドメインからも見える)


別ドメイン間は「クッキー共有」はしない

ここは割り切りポイントです。代わりにやるのはこれです:

1. トークンベース(現実的な解)

・ログイン後にトークン(JWTなど)を発行
・別ホストにはそれをヘッダで渡す

→ クッキーを“共有”するのではなく、認証情報を別形式で渡す


2. リダイレクトを使う(SSO系)

・Aサイトでログイン
・Bサイトに移動するときに認証サーバを経由
・B側で新しくクッキー発行

各ドメインで別々にクッキーを持つ


3. iframe + postMessage(限定的)

フロントで連携するテクニックですが、制約が多くて最近はあまり使われません(ブラウザ制限が厳しい)。


「無理やりやる」とどうなるか

例えばこんなことを考えがちですが:

・クッキーをJSで読み取って別ドメインに送る
→ HttpOnlyだと読めないし、セキュリティ的に危険

・SameSite=Noneでなんとかする
→ そもそもドメイン制約は突破できない

つまり、ブラウザのセキュリティモデルに逆らう方向は全部リスクが高いです。


なぜ制限されているのか

もし自由に共有できたら:

・他サイトが勝手にセッションを盗める
・なりすましが簡単になる

ので、ブラウザが強制的に隔離しています。


まとめ

・同一ドメイン配下 → Domain属性で共有可能
・別ドメイン → クッキー共有は不可
・実務では → トークン or SSOで解決

一言で言うと、
**「クッキーを共有しようとするな、認証を設計しろ」**です。



最強の盾  ノーマル LTGY-JP058 【魔法カード】 【遊戯王カード】

価格:35円
(2026/4/29 11:32時点)
感想(0件)


虹彩認証耐火金庫 日本アイエスケイ KCX53-2IN

価格:1511221円
(2025/7/1 11:48時点)
感想(0件)


 



この記事へのコメント