2012-02-13 14 views
0

で一つのドメインに作成します。私の問題は、私は物理的に私のサブドメインからの同じCookieにアクセスする必要があるということですmyDomain.comクッキーを共有し、私はクッキーを設定したドメイン持つアドオンドメイン

をドメイン/アドオンドメインとして分離されています。

だから、私が持っているmyDomain.com =メインドメイン

とmyAdonDomain.com =アドオンドメイン

は両方で共有クッキーを持ってとにかくありますか?

+0

サブドメインまたはまったく別のドメインにはありますか? (例:subdomain.mydomain.com、mydomain.com、または、myotherdomain.com、mydomain.com) –

+1

これは不可能です。ユーザーのブラウザはこのCookieを共有できません。 – rabudde

+1

ドメインが異なる場合は、この質問をチェックしてください。http://stackoverflow.com/questions/4906907/php-cookies-for-multiple-domains –

答えて

0

あなたがアクセスする方法を知っている限り、どこからでもアクセスできます。 Facebookや様々な広告サービスは、広告をターゲットに、あなたとあなたの行動を追跡するために、このようなクッキーを使用し、特にあなたのためにつか

read

+0

これは親サイトで実行されているJavaScriptライブラリを使用しています(google.comはgoogleクッキー)。これがサッチの役割を果たすかどうかはわかりません。 – AlexC

-1

それはサブドメインの場合、クッキーは、共有(またはmydomain.comとIMissWhitney.mydomainすることができます。 com)。ドメインが異なる場合は、Cookieを共有できません。

編集: linuxeasyは正しいですが、ドキュメントはちょっと古いものだったので、2011年以降の新しいリンクがPHPにあります。 1 linuxeasy

http://www.innovativephp.com/sharing-cookies-across-multiple-domains-hosted-on-different-servers/

+0

サブドメインはCookieを共有できません。そのようなことを言って - > comはgoogle.com、yahoo.comとすべてのクッキーを共有することができます – linuxeasy

+0

私は約9のドメインでこれをしました。それは実行可能です。いくつかのサーバーのセットアップと正しいコーディングが必要ですが、共有することはできます。 – AlexC

+0

どのような種類のサーバーセットアップとどのようなコーディングがありますか? – linuxeasy

0

いいえ、そのない可能性、ブラウザがそれを許しません。

これを行うには、サーバー側で行います。

セッションが他のウェブサイトで利用可能かどうかを確認します(はいの場合)。それに応じて行動します。

注:メインドメインとサブドメインCookieを共有することはできません。ブラウザはそれらを異なるものとして扱います。これはco.inと同じ場合である(許可されていない)mysite.co.inのすべてのクッキーとsesionsにアクセスすることができる(SSOにalexC用)

EDIT

  • SSO実装のdoesnどこにでもクッキーを置く必要があります。

例をみましょう:

  • Googleはそれにユーザーのセッション管理を行うSSOサーバを持っています。我々は(初めて)のGmailを開くと

  • (名前はsso.google.comダミーの名前であることができます)

  • Gmailでは、最初にユーザーがログインしている場合でも(そのための設定なしセッションクッキーを持っていませんplus.google.comやorkut.comなどの他のGoogleサービス)

  • したがって、Gmailサイトはユーザーをssoにリダイレクトします。

  • ここで、ユーザーがログインしている場合、Cookieは既に設定されているため、このサーバーはそのCookieを識別します。ユーザーがログインしていない場合は、ログインページがユーザーに表示され、ユーザーがログインしています。ユーザーはsso.google.comにログインし、gmail.comにはログインしていません。

  • sso.google.comは、セッショントークン(ランダムに生成された一意のセッション識別子文字列)を含むCookieまたはGET変数を使用してgmail.comにユーザーをリダイレクトします。

  • このセッショントークンは、独自のセッションでGmailに保存されます。セッションがまだ有効であれば、このセッショントークンはsso.google.comで内部的にチェックされ、そうであればページがサーバーかそれ以外の場合は、ユーザーは再びssoサイトにリダイレクトされます。

  • 他のGoogleサービスにも同じです。これは、複数の製品にまたがるセッション管理の仕組みです。このモデルは、製品にマルチテナントがあるSaaSベースのアプリケーションで主に実装されています。

  • このフローがわかるように、この中にクッキーは必要ありません。そして、たとえクッキーがまったく頼っていたとしても、あるアプリケーションからのユーザーログアウトは、現在のアプリケーションには何の示唆も与えなかったでしょう。したがって、完全性とセキュリティの問題が発生します。

これは、SSO実装上のことを明確にします。

+0

いいえ、これは正しい比較ではありません。co.in is not a domain、それはルートです。もちろん、物事はルートを越えて共有することはできませんが、Googleの新しいプライバシーポリシーを見れば、ドメイン全体に1つのクッキーがあると言われています。 – AlexC

+0

GoogleではSSO(シングルサインオン)という概念を使用しています。 SSOはセッション管理を行う別のサーバー自体であり、他のすべてのサイトはplus.google.com、orkut.com、google.comという内部的にこのSSOサイトを呼び出してユーザーを検証します。その何かがブラウザによって行われたものではありません。あなたのコンセプトをクリアしてください! – linuxeasy

+0

私は、Webと非Web環境でSSOを実装しているという明確な概念を持っています。 SSOはセッション管理を行うことができますが、認証方法のみを参照します。 Web環境では、SSOはCookie以外のブラウザを閉じた後にセッションを追跡する方法がありません。彼らはMACアドレスを取得しないし、OperaのようないくつかのブラウザはNTLMをサポートしていないので、彼らはクッキーを通してあなたを追跡する必要があります – AlexC

関連する問題