我有几个域都在同一台服务器上,具有相同的 IP 和相同的数据库 - 所有 5 个域都可以访问这些域。
我最近重做了我的登录系统,所以在我的主域上,cookie 不仅适用于主域,也适用于子域。这意味着,如果用户登录到一个区域,他们将在所有地方登录。这太棒了!我用他们的哈希值(从数据库中获取)写了一个 cookie,并在加载每个页面时检查它,他们会自动安全登录。
这很好,但是当切换域时问题就来了,因为 cookie 似乎被锁定到域。所以我的其他域(我们称之为 domain2.com)无法从 domain1.com 读取 cookie。
有什么聪明的方法可以解决这个问题吗?我可以向数据库写入一些内容,例如 IP,但这不会很安全,因为我为每个人工作的公司都使用相同的 IP,因此它不会是特定的。
或者我考虑过可能在页面上包含一个隐藏的 iframe,它实际上链接到主服务器上的一个页面,并以某种方式提取信息。
我不确定,但我确定可以做到。有什么想法吗?
最佳答案
出于充分的理由,浏览器不允许从任何其他域读取 cookie。
你可以做的是让 domain2.com 重定向到 domain1.com 上的一个页面,该页面检查用户是否登录,如果他们是,它会使用用户的 id 重定向回 domain2.com,然后他们可以登录。
关于php - 跨域登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31178200/