【问题标题】:How to get the browser Cookies using JavaScript如何使用 JavaScript 获取浏览器 Cookie
【发布时间】:2016-11-30 17:53:36
【问题描述】:

我想使用 JavaScript 获取浏览器 cookie。我尝试了以下代码,但没有获取跨域 cookie。

代码如下:

function get_cookies_array() {
  var cookies = {};
  if (document.cookie && document.cookie != '') {
    var split = document.cookie.split(';');
    for (var i = 0; i < split.length; i++) {
      var name_value = split[i].split("=");
      name_value[0] = name_value[0].replace(/^ /, '');
      cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
    }
  }
  return cookies;
}
var cookies = get_cookies_array();
for (var name in cookies) {
  document.write(name + " : " + cookies[name] + "<br />");
}

有没有人解决这个问题。

【问题讨论】:

  • 如果这是您的问题,您无法从其他域获取 cookie。不可能。
  • 是否有可能使用其他方式获取这些 cookie? @nicovank
  • 说 WebApp1 和 WebApp 2。我确实可以访问 WebApp 1 ,但我无权访问 WebApp 2 。但我需要阅读 WebApp2 的 cookie。这可能吗?

标签: javascript cookies cross-domain


【解决方案1】:

在大多数情况下,出于安全原因,您无法读取跨域 cookie。

每个 cookie 都有一个定义域,您的浏览器会读取这些域,然后根据您所在的域来决定您可以读取哪些 cookie。

如果您可以控制两个域,则可以修改域 B 上的 cookie 设置以允许域 A 读取它们,或者编写一个 cookie getter 来获取值。要有创意!

【讨论】:

    猜你喜欢
    • 2012-10-28
    • 2013-05-01
    • 2012-02-07
    • 2013-12-05
    • 2020-09-22
    • 2015-03-07
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多