3

我的应用程序中有 cookie,我需要使用 angularJS ngCookies 读取它。当我从浏览器扩展导出 cookie 时,它​​看起来像以下 json :

[
  {
    "domain": "localhost",
    "hostOnly": true,
    "httpOnly": false,
    "name": "JSESSIONID",
    "sameSite": "no_restriction",
    "secure": true,
    "session": true,
    "storeId": "0",
    "value": "00FC04BF082458FFE6F175C7E03F5712",
    "id": 18
  }
]

此 JSON 中可以有更多对象以及“JSESSIONID”。所以我只想读取 JSESSIONID 的值。

我的代码:

 var jsessionCookie = $cookies.get('JSESSIONID');
 console.log(" Cookies 'JSESSIONID' : "+jsessionCookie);

我得到未定义的对象。

4

2 回答 2

1

您拥有的代码看起来不错,但根本问题是不同的。

您将 cookie 标记为

"httpOnly": true

这意味着 cookie 不能被包括 Angular.js 在内的客户端代码访问。

访问它的唯一方法是更改​​生成代码的代码,这样 cookie 就不会被标记为httpOnly. 进行更改时有一些安全注意事项,因此请确保您了解自己在做什么。

您可以在OWASP 网站上阅读有关 HttpOnly 的更多信息。

于 2016-10-26T05:21:04.787 回答
0

储存可可饼干,

$cookies.put("cookie_name","cookie_value",{"expires":expireDate,"domain":"domain_name"});

获取存储的 cookie

var cookieValue = $cookies.get("cookie_name);
于 2016-10-26T06:02:35.383 回答