Cookies 当点击指向新选项卡的链接时(第一次请求时),IE11不发送会话cookie

Cookies 当点击指向新选项卡的链接时(第一次请求时),IE11不发送会话cookie,cookies,session-state,internet-explorer-11,Cookies,Session State,Internet Explorer 11,从IE11打开初始新选项卡(target\u blank)时,我在保持会话时遇到一些问题 当我关闭IE11的所有实例,然后打开一个新的浏览器并导航到测试网页(default.aspx)时,页面将在会话中存储一个值,并在页面上显示会话ID。如果刷新页面,会话ID将保持不变。该页面有一个指向自身的链接(default.aspx),目标为_blank。如果单击此链接,将打开一个新选项卡,但会话ID不同。如果然后刷新原始窗口,会话ID现在与新窗口匹配 <%@ Page Language="C#"

从IE11打开初始新选项卡(target\u blank)时,我在保持会话时遇到一些问题

当我关闭IE11的所有实例,然后打开一个新的浏览器并导航到测试网页(default.aspx)时,页面将在会话中存储一个值,并在页面上显示会话ID。如果刷新页面,会话ID将保持不变。该页面有一个指向自身的链接(default.aspx),目标为_blank。如果单击此链接,将打开一个新选项卡,但会话ID不同。如果然后刷新原始窗口,会话ID现在与新窗口匹配

<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
<% Session["StoredValue"]="Test"; %>

<div>SessionID: <%=Session.SessionID%></div>

<a href="/default.aspx" target="_blank">New Window</a>
<a href="http://www.google.com" target="_blank">3rd Party Window</a>

</body>
</html>

会话ID:
似乎只有在新选项卡中打开的同一域上的第一个窗口出现此问题(我已通过target=“\u blank”和按住CTRL键同时单击链接验证了此问题)

  • 当我与Fiddler一起观看cookie流量时,我可以看到 会话cookie通常在来自的初始请求中发送 default.aspx。当我单击链接在新选项卡中打开页面时 会话cookie未在请求头中发送
  • 如果重新启动浏览器,请转到测试页面,打开新选项卡 在发送cookie时,手动将链接目的地粘贴到其中 在“新建”选项卡的请求标头和会话中正确显示 按预期匹配原始选项卡
  • 如果我重新启动浏览器,转到测试页面,从 链接目标-在测试页面中为空,然后单击链接 在新选项卡中打开测试页时,cookie也会正确发送 在请求头中,新窗口中的会话匹配 原始窗口按预期显示
我认为这是一个客户端问题,但该网站是在安装了.NET 4.51的4.0集成网站中使用Windows Server Standard 2008 R2 SP 1运行的(仅安装了4.5)

客户端是运行IE11(11.0.9600.16476)的64位Windows 7。我已经在运行IE11的Windows 7的其他计算机上验证了这个问题,并确认它在桌面模式下的Windows 8的IE10中不是问题。在Chrome和Firefox中,一切正常

我已确认问题仍然存在,即使我:

  • 将安全性从中高移动到中高
  • 禁用保护模式
  • 更改隐私以接受所有cookie
  • 将站点添加到本地Intranet或受信任站点区域网站列表
  • 在响应头中设置P3P compact隐私策略,声明未收集或使用任何信息
  • 在响应头中设置P3P compact隐私策略,该策略通常会被接受,以允许在IE过去版本的iframe中使用第三方cookie
  • 将网站ASP.NET会话状态设置更改为cookieless=“UseCookies”或“false”,或完全删除该属性(ASP.NET状态服务器)

有什么想法吗?有没有其他人看到过这个问题或类似的问题?

据微软称,这是一个活跃的bug。显然没有服务器端的方法来解决这个问题


我的登录也遇到了同样的问题,但我们试图通过更改IE11或其他有问题的浏览器中的某些设置来解决这个问题

转到工具=>互联网选项=>隐私 点击网站按钮。添加mydomain.com&单击允许按钮。
重新启动浏览器。

这不是一个解决方案,而是一个线索:
我们注意到类似的行为,并跟踪到对root/browserconfig.xml的请求,导致用户未经身份验证。服务器发送了一个新的会话cookie,因为Windows没有发送现有的会话cookie。随后的请求发送新的会话cookie值。我们将服务器更改为查找此请求而不设置响应cookies。

这不是解决方案,但:

试试鼠标中键。如果这在100%的情况下对你有效(对我有效)


问题已解决。

@user3183307引用的错误报告似乎就是我遇到的问题。我将在周一与Microsoft联系,尝试获取此问题的状态,并澄清复制步骤,因为它们包含的样本不准确,并且不会复制问题,因为这似乎只是服务器发送的第一方cookie的问题。不要忘了投票并将答案标记为已接受答案。谢谢..这里更确切地说:一个bug被提交给了微软。它仍然被标记为活动的,但是他们还没有声明他们可以复制它。话虽如此,该bug还是合理的,因为所讨论的代码区域已经有了另一个已确认的bug:
js: links with target='_blank' on ie remove defaultBehaviour and trigger middle click.