我正在使用document.cookie
来获取网站的cookie值,但无法获取所有cookie值。
示例会话cookie sid
,我可以在Google Chrome Cookie Manager中看到它,但无法通过javascript获取价值。
如何通过javascript设置cookie,但它不会显示在document.cookie
中(仍然将这些值发送到请求标头中的服务器)?
答案 0 :(得分:1)
从github复制的答案:https://github.com/expressjs/session/issues/274#issuecomment-185308426
您的cookie可能设置为httponly:true。这是默认值。如果您或其他未读过此内容的人不知道,则可能没有必要,并且将此值设置为false的错误决定。 搜索“ httponly cookie”,您会找到一些很好的解释,说明为什么您不希望Javascript访问Cookie。
答案 1 :(得分:0)
还请确保您尝试访问的cookie在您尝试访问cookie的文档范围内。
Domain和Path指令定义了cookie的范围:应将cookie发送到哪些URL。
域指定允许主机接收cookie。如果未指定,则默认为当前文档位置的主机,不包括子域。如果指定了域,则始终包含子域。
例如,如果设置了Domain = mozilla.org,则cookie被包含在子域中,例如developer.mozilla.org。
Path表示在URL中必须存在的URL路径才能发送Cookie标头。 %x2F(“ /”)字符被视为目录分隔符,子目录也将匹配。
例如,如果设置了Path = / docs,则这些路径将匹配:
/ docs
/ docs / Web /
/ docs / Web / HTTP
来源:https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Scope_of_cookies