问题标签 [missing-cookies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4605 浏览

asp.net-mvc - 响应中不存在 RequestVerificationToken cookie

我的 ASP.NET MVC 应用程序通过使用 ValidateAntiForgeryToken 属性并调用 Html.AntiForgeryToken 以使用令牌值写入隐藏的输入元素并将令牌放入 cookie 来防止 CSRF 攻击。

我的异常日志报告了 HttpAntiForgeryException 的出现,它们看起来像是由有效请求触发的(引荐来源网址看起来正确)。导致异常的 Response 在 Form 字段中还包含 __RequestValidationToken 以及令牌值。但是,请求中缺少必要的 cookie,导致验证失败并引发异常。

我正在尝试思考为什么缺少此 cookie,并提出了以下可能的原因:

  1. 该域的 Cookie 集合已满。- 如果是这种情况,我希望在每个请求中看到 20/50 个 cookie(顺便说一句,所有用户代理都是 IE7 和 IE8)并且不知何故 cookie 被丢弃了。我在各种异常情况下看到 3 到 23 个 cookie
  2. 已达到 cookie 的数据限制。- 这不会发生。通过查看日志,我可以看到 cookie 集合很小。
  3. 在添加 cookie 之前,将返回响应。- 不确定这个。在头部手动调用 Reponse.Flush 会导致异常,说明在发送响应后无法修改 cookie 集合。
  4. ?

绝望中,我求助于 SO 的人员,并询问我可以调查此丢失 cookie 的任何其他可能原因。

0 投票
3 回答
1465 浏览

perl - 为什么 Safari 不从我的 Perl CGI 脚本中设置 cookie?

我有一个基于 Perl 的网站,它试图在用户第一次访问时设置一些 cookie,我只是注意到 Safari 已经停止设置除了传递的第一个 cookie 之外的所有内容。首次访问时,应设置两个 cookie,即“位置”和“推荐人”。在 IE 和 Firefox 中,cookie 设置正确,但 Safari 仅设置“位置”cookie。我尝试更改名称、值等,我得出的结论是 Safari 只是设置了两个 cookie 中的第一个:

这是设置 cookie 的代码:

这是我尝试从 curl 访问网站时得到的结果:

有任何想法吗?我不知道我能做些什么来帮助解决这个问题,因为我的脚本似乎正确地传递了它们。提前感谢您提供的任何见解或想法!

0 投票
1 回答
3477 浏览

asp.net - asp.net mvc cookie 没有被发回

我在 mysubdomain.mydomain.com 的应用程序需要设置一个包含一些用户会话信息的 cookie。

他们在 https 页面登录。我们对它们进行身份验证并在 cookie 中设置一些会话信息。

我们在一个接受控制器上下文的辅助库中执行此操作

我们在控制器中进行快速重定向(到非 https 页面):

cookie 出现在响应中(根据 firebug 的 net 选项卡)。

但无论是 fireforx 还是 ie 在后续获取时都不会发送 cookie。

我们将 cookie 域设置为 mydomain.com,即使该站点是 mysubdomain.mydomain.com。跳过重定向命令无效,更改 cookie 值也无效。

我很困惑。感谢您的任何建议。

0 投票
1 回答
1352 浏览

php - mod重写规则后cookie不起作用

我有一个简单的 cookie 用于设置所选语言:

使用一些重写规则后,它就不再起作用了。我尝试了以下方法:

.htaccess 文件:

0 投票
1 回答
218 浏览

cookies - Cookie 写入无法在托管站点上运行

我创建了一个基本但广泛的 javascript-html 页面,该页面依赖于 cookie 来保存用户信息。它在我的计算机(MAC - Firefox)上完美运行,但是当加载到我的托管网站(页面在我的域中)时,打开页面时不会写入 cookie。

我希望通过将所有编程都保留在 javascript 中,我可以获得一些基本的交互性。这个假设是错误的吗?cookie 必须使用 PHP 编写吗?

我的饼干写得很普通。

更新

自从我添加以来,现在正在编写 cookie "path=/; domain=.my.org"。但现在还有另一个问题。似乎 safari 和 Firefox 以相反的顺序写入 cookie。我通过更改数组来创建 cookie,然后简单地通过数组来写入 cookie。我希望我可以简单地一一阅读饼干并保持订单。呃,好吧。

0 投票
1 回答
2266 浏览

javascript - 使用 javascript 看不到一些 cookie

我正在尝试使用客户端 javascript 访问 cookie。

在服务器上,我使用的是 node.js 和 cookies 模块。我设置了两个cookie,“UUID”和“nick”。

我可以在服务器上正确读取这些内容,并且我还可以通过查看浏览器首选项中存储的 cookie 来查看它们是否已设置(我已尝试使用 Chrome 和 Firefox)。

但是,当我尝试在客户端访问它们时,我似乎只能访问“UUID”,而不是“nick”。我尝试了各种 JS cookie 读取功能,也只是转储 document.cookie - 一切似乎都表明“nick”cookie 不存在。

任何人都可以帮忙吗?

0 投票
1 回答
1153 浏览

c# - 为什么少了一块饼干?

我正在废弃一个重定向结果的页面:我首先访问 page1,然后它通过http-equiv="refresh". 我正在报废第 2 页。page2 上的内容基于一些 cookie page1 集。我看到 page1 返回 2 个 cookie,但是当我请求第 2 页(发送相同的CookieContainercookie 时,缺少一个 cookie。我的代码有什么问题?

谢谢:

首先:我为page1创建一个CookieContainer和一个HttpWebRequest请求。

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(eQuery);
req.AllowAutoRedirect = true; // but it doesn't autoredirects the meta-refresh
req.CookieContainer = cookiesContainer;

这是我从访问 page1 得到的结果

HTTP/1.1 200 OK
Date: Tue, 12 Apr 2011 19:14:06 GMT
Server: (...)
Set-Cookie: NAME1=VALUE1; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: NAME2=VALUE2; expires=Wed, 13-Apr-2011 19:14:06 GMT
Content-Length: 174
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
(...)

到目前为止一切都很好,我得到了两个 cookie,我在容器中得到了两个 cookie 对象。

meta http-equiv然后我解析下一个 url的“内容”值。并使用类似的代码并使用相同的容器请求它。但是只发送了一个cookie。这是发送的 HTTP:

GET DETECTED_URL_IN_HTTP_EQUIV_REFRESH HTTP/1.1
User-Agent: (...)
Host: example.com
Cookie: NAME1=VALUE1

如您所见,cookie NAME2 丢失了。为什么会这样?两个 cookie 中是否存在相关差异(一个有路径,另一个有过期日期)?知道如何通过这两个 cookie 吗?

PS:我无权访问 page1,因此无法设置路径或 cookie 的过期时间。我正在报废那些页面。

谢谢你。

0 投票
2 回答
2534 浏览

java - Cookie 未被读取

我在我的网络应用程序中实现了“记住我”功能。我使用包含使用 RSA 加密的用户名/密码的 cookie 来执行此操作。

我登录时添加cookie;如果然后我注销(不关闭浏览器),则 cookie 读取正常,并且在登录页面中我看到用户名/密码已经输入。但是如果我关闭浏览器;或关闭选项卡并再次运行应用程序,当读取 cookie 时,读取的唯一 cookie 是 JSESSIONID。((HttpServletRequest)facesContext.getExternalContext().getRequest()).getCookies(­); 即使我可以在浏览器中看到它,带有凭据的 cookie 也不在返回的数组 中。这是为什么?

这是创建 cookie 的代码:

和方法createCookie:

编辑:我将 cookie 的最大年龄设置为一天;在浏览器中我可以看到 cookie 明天到期,所以这不是问题

在此先感谢,达米安

edit2:这很奇怪,但现在似乎可以工作了。我会继续测试并通知。谢谢。

0 投票
1 回答
1392 浏览

asp.net - 如何在 WCF 服务的所有后续 HTTP 请求标头中获取身份验证 cookie?

我无法将身份验证 cookie 放入客户端 Windows 服务的 HTTP 请求标头中,该服务使用托管在 IIS 中的 WCF 服务,该服务使用“会话”。客户端应用程序使用表单身份验证来访问 WCF 服务。成功验证后,我捕获 HTTP 响应标头,其中包含 .ASPXAUTH 的 Set-Cookie 和 ASP.NET_SessionId 的 Set-Cookie。我将这些 cookie 添加到对 WCF 服务的所有后续请求的 HTTP 请求标头中。使用 Fiddler 调试工具,我可以看到对于 WCF 服务的每个请求,都会发送两个 HTTP 请求。第一个 HTTP 请求标头不包含 cookie,但第二个 HTTP 请求包含。当我通过将 web.config 的授权部分设置为“拒绝用户=”?”来保护服务时,标头中没有 cookie 的第一个 HTTP 请求会强制“重定向”返回登录,从而阻止访问服务。我认为第一个请求与“会话”的使用有关。当我在 WCF 服务中禁用“会话”时,每次 WCF 调用我只会收到一个 HTTP 请求,并且 cookie 位于标头中。如何在发送到我的 WCF 服务的所有 HTTP 请求标头中获取从身份验证返回的 cookie?对此问题的任何帮助将不胜感激。如何在发送到我的 WCF 服务的所有 HTTP 请求标头中获取从身份验证返回的 cookie?对此问题的任何帮助将不胜感激。如何在发送到我的 WCF 服务的所有 HTTP 请求标头中获取从身份验证返回的 cookie?对此问题的任何帮助将不胜感激。

我已经包含了来自客户端的绑定。

0 投票
1 回答
51 浏览

firefox - 不同的 Firefox 安装接收不同的 cookie(来自同一页面)

我想知道是否有人能想到为什么在不同机器上安装的两个新安装的 Firefox 在访问同一个站点时可能会收到截然不同数量的 cookie 的原因。我知道每个请求可以删除多少个 cookie 是有限制的,所以我实际上在同一个页面上点击了大约 10 次,同时累积了所有的 cookie。

我的两个 Firefox 安装不同的版本(10 和 16),但我不确定这有多重要。我似乎在网络上找不到太多有用的信息,因为“Firefox 没有在我的机器上放置足够的 cookie”似乎不是一个流行的搜索。:) 两个 Firefox 安装都是全新的——我没有更改任何默认设置。

我已经要求我们的 IT-Ops 人员将盒子升级到 FF16,但这需要一些时间。我只是想,与此同时,也许有人可能知道一些与接受 cookie 或类似的东西有关的超级机密保修无效的“关于:配置”条目?

谢谢!