2

サブドメインの複数のサブドメインを使用するサイトにログインするシステムを使用しています。このシステムの開発バージョンとライブ バージョンを使用していますが、奇妙な動作が発生しています。

したがって、セットアップは次のとおりです。

開発環境:

  • dev.mydomain.com
  • sub1.dev.mydomain.com
  • sub2.dev.mydomain.com

ライブ環境:

  • live.mydomain.com
  • sub1.live.mydomain.com
  • sub2.live.mydomain.com

ログイン プロセスの一環として、次の行を使用して Cookie を設定します。

setcookie("LoggedIn", 1, 0,'/','.mydomain.com');

これはすべて正常に機能し、一度ログインしてすべてにアクセスできますが、テスト システムにログインするとライブ システムにログインせず、その逆も同様に制限したいと考えています。

これに対する解決策は次のようになると予想しました。

setcookie("LoggedIn", 1, 0,'/','.test.mydomain.com');

setcookie("LoggedIn", 1, 0,'/','.live.mydomain.com');

システムに依存します。

ただし、この方法を使用すると、test.mydomain.com と live.mydomain.com には個別にログインできますが、サブサブドメイン (sub1.test.mydomain.com、sub2 など) にはログインできません。

私は何を間違っていますか?

4

2 に答える 2

0

same-origin-policyが原因である可能性があります。通り抜けてください。

于 2013-09-17T08:16:13.750 に答える
0

サブドメイン Cookie がトップ ドメインよりも優先されるべきであるというあなたの期待に完全に同意しますが、ほとんどの Web フレームワークでは Cookie ID を重複させることはできません。最も安全な解決策は、その特定のドメインの Cookie ID を変更することです。通常は、変数としてアプリケーション構成に入れます。

于 2016-08-10T06:58:53.397 に答える