【问题标题】:using cookies across domain? [duplicate]跨域使用cookies? [复制]
【发布时间】:2012-10-08 19:51:57
【问题描述】:

可能重复:
cross domain cookies

我需要一个可跨多个域使用的 cookie。我知道你不能直接这样做,但我可以这样做:

  • 用户访问域1
  • domain1 向 domain2 发送 curl 帖子
  • domain2 检查是否已设置名为“someCookie”的 cookie。如果是,则返回一些数据告诉 domain1 它已经设置,如果不是,则返回一些数据说它没有设置。
  • 现在 domain1 知道 domain2 的 cookie 是否设置

所以基本上 domain2 总是处理 cookie 并且只是向其他域报告它是否设置。我还需要通过在 domain2 上调用设置 cookie 的脚本来从 domain1 设置它。

我不知道这是否可能,但请告诉我

【问题讨论】:

    标签: php


    【解决方案1】:

    someCookie 是 CLIENT 上而不是服务器上的数据存储......所以只要客户端没有加载到浏览器窗口或来自 domain2 的 iframe 页面中,就不会有 cookie。请记住,某些浏览器会阻止从 iframe 创建 cookie。

    【讨论】:

      【解决方案2】:

      您建议的解决方案的问题是 cookie 保存在客户端。因此,domain1 不能简单地联系 domain2 来询问是否存在 cookie。

      您可以做的是为 domain2 设置一个 iframe。 Domain2 读取 cookie 并向 domain1 发送一些通知,告诉 domain1 客户端 X 刚刚访问了 domain2 并且有或没有设置 cookie。然而,这是一个非常老套的解决方案,不适用于所有浏览器。

      将数据从一个域传递到另一个域是一项非常复杂的任务。浏览器对这些东西的支持非常有限,因为这些东西通常用于恶意软件目的(跨站点脚本)。因此,浏览器有意限制这种情况下可能的解决方案。

      【讨论】:

        【解决方案3】:

        Cookie不能与不同的域共享,但它不是子域,改变它会起作用。

        尝试一些类似的东西

        http://domain1.com/authenticate?token=tekrjadfjhad&action=auth
        

        并根据您的逻辑验证令牌和操作或其他任何内容。

        【讨论】:

          猜你喜欢
          • 2010-11-08
          • 1970-01-01
          • 2012-09-30
          • 2013-01-02
          • 2012-01-14
          • 2019-11-16
          • 2011-06-19
          • 2017-09-16
          • 2020-06-24
          相关资源
          最近更新 更多