【问题标题】:Cross Domain Cookies with jQuery and jQuery Cookie使用 jQuery 和 jQuery Cookie 的跨域 Cookie
【发布时间】:2014-04-07 11:20:34
【问题描述】:

我有一个网站,在访问该网站时会打开一个模式。该人对模态有一些选择。如果他们选择某个选项,则会创建会话 cookie。

这是我用来检查 cookie 并基于它运行函数的代码:

$(function() {
  if($.cookie('my-cookie') === undefined) { 
    $('#modal').foundation('reveal', 'open');
  }
  $( ".close-modal" ).click(function() {
    $('#modal').foundation('reveal', 'close');
    $.cookie('my-cookie', '1', {path:'/'});
  });
});

我还有另一个域,我想检查此 cookie 是否存在。据我了解,即使我拥有并控制该域,也无法读取其他域的 cookie。

我的问题是:是否有解决方法或方法可以让我检查是否存在来自另一个域的 cookie?请记住,我确实控制了两个域,并且可以将代码上传到其中一个域或两个域。

我还使用托管 CMS,因此无法使用服务器端代码。我在两个域上都使用 jQuery Cookie 并使用 jQuery 2.1。

【问题讨论】:

  • 我认为如果客户端 javascript / jquery 可以检测到跨域 cookie,那将是一个安全漏洞。

标签: javascript jquery cookies jquery-cookie


【解决方案1】:

您可以读取同一域的子域上的 cookie,但不能读取完全不同的域上的 cookie。这完全是故意的,如果可以规避,它将打开隐私问题的闸门。通常解决此问题的方法是通过 URL 将会话 ID 或其他身份验证令牌传递给其他域,但如果您不能使用不安全的服务器端代码。

【讨论】:

  • 我意识到这是有意的。我想我的想法是我控制了两个域,所以我可以传递代码,但正如你所说,它是有限的,因为没有服务器端。
猜你喜欢
  • 2020-06-30
  • 2013-01-05
  • 2011-03-21
  • 2010-10-07
  • 2013-11-27
  • 1970-01-01
相关资源
最近更新 更多