跨多个域(不是子域)的PHP会话

时间:2012-09-17 07:55:10

标签: php codeigniter session

我正在设置它,所以如果你登录我的网站(使用codeigniter),会话会转移到我的多个网站的其他域(不是子域)。例如,如果您访问domain.com并登录,则转到domain2.com,您已经登录domain2.com。

我无法弄清楚从哪里开始。

2 个答案:

答案 0 :(得分:1)

首先想到的方法是使用一个共享数据库来保存“登录”标志,每个域都会轮询和更新。使用cookie不是一种选择,因为它们绑定到域。

答案 1 :(得分:0)

您需要使用一个域作为主登录系统(keyDomain)。然后对于每个其他domain2,您查询keyDomain以获取临时密钥,使用此密钥登录到domain2。 domain2的服务器将检查keyDomain上的密钥。

您需要在keyDomain上使用两种方法。 - 一个建立密钥。它们必须是时间依赖的并且有效期为5分钟。 - 一个检查密钥,检查给定密钥与当前密钥,然后再检查前一个密码,以防查询和检查之间的时隙发生变化。 (当前密钥和前一密钥都有效,因此有效期为10分钟。)

键只是一个包含time + user_ID + salt的字符串,全部都是编码的。

你应该看看facebook如何连接工作。