1

我正在尝试使用 JavaScript 获取存储的 cookie。这是通过检查页面并转到资源在 Google Chrome 中显示的 cookie 列表。

在此处输入图像描述

当我运行代码时:

alert(document.cookie);

它只显示 K----S-----C---- cookie,但不显示 adminhtml cookie。如何访问 adminhtml cookie?

==================================================== =

编辑:

根据所选答案,JavaScript 无法访问仅 HTTP cookie。虽然我找到了解决方法。它可能不是最安全的,但在这种需要获取 cookie 信息的情况下,试试这个。

使用 PHP 将 cookie 信息写入隐藏的 div:

<div id="adminhtml" style="visibility:hidden"><?php
    echo $_COOKIE['adminhtml'];
?></div>

然后使用JavaScript获取div的innerhtml:

<script>
    var cookieValue = document.getElementById("shopperid").innerHTML;
</script>
4

1 回答 1

2

adminhtml 似乎是一个 HttpOnly cookie。您无法从 javascript 访问 HttpOnly cookie。

引用维基百科,找不到官方文档:

大多数现代浏览器都支持 HttpOnly 属性。在受支持的浏览器上,仅在传输 HTTP(或 HTTPS)请求时才会使用 HttpOnly 会话 cookie,从而限制来自其他非 HTTP API(例如 JavaScript)的访问。此限制减轻但不能消除通过跨站点脚本 (XSS) 窃取会话 cookie 的威胁。此功能仅适用于会话管理 cookie,不适用于其他浏览器 cookie。

于 2013-11-08T16:29:34.370 回答