6

$.cookie 没有读取服务器响应先前设置的 cookie。

我可以读取使用 $.cookie() 设置的 cookie。

我可以看到所有使用 Firefox 的 Web Developer 插件设置的域 cookie。
另外,服务器端可以看到请求cookie,所以浏览器肯定有它们。

我已经尝试过到期时间,但无济于事。

4

2 回答 2

8

问题是服务器端正在发送带有 HttpOnly 设置的 cookie,如下所述:http ://en.wikipedia.org/w/index.php?title=HTTP_cookie#HttpOnly_cookie

无法通过 document.cookie 访问以这种方式发送的 Cookie。这通常用于帮助保护 cookie 值免受您网站上可能的 XSS 攻击。

编辑:您没有提到您在服务器端使用哪种技术来设置 cookie。如果您使用的是 PHP,此链接列出了设置 HttpOnly 标志的可能方式:

https://www.owasp.org/index.php/HttpOnly#Using_PHP_to_set_HttpOnly

于 2012-05-28T01:17:14.503 回答
1

更新:我的原始答案是错误的(见下文)......路径树下方的页面可以读取上层cookie,因此路径不必完全匹配。留下我原来的答案,以防其他人犯同样的错误。我的问题是由我从 javascript 设置 cookie,然后尝试修改 cookie 服务器端引起的。路径为“/”的服务器目标 cookie,因此路径为“/mypages”的 cookie 没有更改。

$.cookie 只能读取当前文档路径下的cookies,所以如果你的页面是>mysite.com/mypages/mypage.aspx,服务器在设置cookie时会将路径设置为“/”,但$.cookie会尝试从路径“/mypages”读取,但无法读取 cookie。我自己也遇到了这个问题。如果您没有这样的不同路径,那么这可能 > 不是您的问题。

于 2012-07-20T19:12:49.180 回答