如何跨两个不同的域使用 Cookie?
我需要使用cookie在两个不同的域之间共享SSO信息,这可以用PHP完成吗?
在这两个域上,放置从其他域中提取的图像或其他 Web 元素。使用 URL 通知其他域用户 X 位于域 A 上,并让域 B 将该用户 ID 与其系统上的该用户相关联。
正确执行有点复杂,但如果你仔细想想,它会很好地工作。
Vinko在评论中指出(谢谢!),我不应该想当然地认为你了解所涉及的安全风险。如果这些信息对任何人都有价值,那么你应该确保你使用适当的加密,身份验证等,以避免发布敏感信息并避免各种攻击(重放,中间人等)。这应该不会太繁琐,因为您可以控制两个网站,并且可以为两个网站选择安全的密钥,因为通信仅通过此特殊URL在两个服务器之间进行。但请记住这一点。
-亚当
您不会,Cookie 已绑定到域。这有一些限制,它被称为跨站点脚本。
现在,为您的问题提供一些帮助。您可以做的是创建一个脚本来帮助桥接它们。
您可以全局重写指向第二个站点的所有链接,这将需要来自第一个站点的cookie信息。
您可以将 site-a 中的所有 Cookie 保存到它们都可以读取的数据库中,然后以编程方式将 cookie-id 查询字符串附加到站点 b 的所有链接上,然后查找该 cookie ID 并在新域下重新设置 Cookie。
有一个非常好的PHP数据库抽象库(PHP ADODB),它有一个会话共享插件,使这一切变得容易得多。