共享cookie在一个域上使用插件域创建

时间:2012-02-13 13:12:16

标签: php cookies

我有一个域名,我设置了一个cookie:myDomain.com

我的问题是我需要从我的子域访问相同的cookie,该子域实际上位于同一服务器中但分隔为域/插件域。

所以,我有myDomain.com =主域名

和myAdonDomain.com = Addon Domain

是否有共享cookie?

3 个答案:

答案 0 :(得分:0)

是的,只要你知道如何访问它......你可以从任何地方访问它。 Facebook和各种广告服务使用此类Cookie来跟踪您和您的行为,以定位专门为您添加的广告

read

答案 1 :(得分:0)

不,它不可能,浏览器不允许它。

如果您想要实现此目的,请在服务器端执行此操作。

检查一个网站,会话是否在其他网站上可用,如果是,则采取相应行动。

注意:您不能与主域共享子域cookie。浏览器将它们视为不同的。这是同样的情况,因为co.in可以访问mysite.co.in的所有cookie和sesions(这是不允许的)

编辑(对于SSO上的alexC)

  • SSO实施不需要在任何地方使用cookie。

让我们举一个例子:

  • Google有一个SSO服务器,可以对其进行用户会话管理。 (让名称为sso.google.com虚拟名称)

  • 当我们打开Gmail(第一次)

  • Gmail最初没有为其设置会话Cookie(即使用户已登录其他Google服务,例如plus.google.com或orkut.com)

  • 因此,Gmail网站会将用户重定向到sso。

  • 此处,如果用户已登录,则已设置cookie,因此此服务器会识别其。如果用户未登录,则会向用户显示登录页面,用户将通过该登录页面登录。用户登录到 sso.google.com ,而不是登录到gmail。 com。

  • 然后,sso.google.com会将用户重定向到带有Cookie或GET变量的gmail.com,该变量包含会话令牌(随机生成的唯一会话标识符字符串)。

  • 此会话令牌随后由Gmail存储在自己的会话中。因此,在每次进一步点击时,都会使用sso.google.com在内部检查此会话令牌,无论会话是否仍然有效,如果是,则页面是服务器,否则,用户将再次重定向到sso站点。

  • 同样适用于任何其他Google产品。这就是跨多个产品的会话管理的完成方式。此模型主要在基于SaaS的应用程序中实现,其中有产品的多租户。

  • 正如您所看到的那样,所有这些都不需要cookie。即使完全依赖cookie,用户从一个应用程序注销也不会对当前应用程序进行任何暗示,因此会出现完整性和安全性问题。

希望这能澄清SSO的实施情况。

答案 2 :(得分:-1)

如果是子域名,则可以共享cookie(或mydomain.com和IMissWhitney.mydomain.com)。如果它们是不同的域,则无法共享cookie。

编辑: linuxeasy是对的,文档有点偏旧,所以这里是2011年专门针对PHP的新链接。 +1 linuxeasy

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