IE11 n'envoie pas de session Cookie lorsqu'un lien ciblant un nouvel onglet est cliqué (sur la première demande)

StackOverflow https://stackoverflow.com//questions/21031602

Question

J'ai eu quelques problèmes de maintien à la session lors de l'ouverture d'un nouvel onglet initial (cible _blank) de IE11.

Lorsque je ferme toutes les instances de IE11, puis ouvrez un nouveau navigateur et naviguez vers la page Web de test (par défaut.aspx), la page enregistre une valeur en session et affiche l'ID de session de la page. Si je rafraîchis la page, l'ID de session reste la même. La page a un lien à lui-même (par défaut.aspx) avec une cible de _blank. Si je clique sur ce lien, un nouvel onglet est ouvert, mais l'ID de session est différent. Si je rafraîchissez ensuite la fenêtre d'origine, l'ID de session correspond maintenant à la nouvelle fenêtre.

<%@ 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>

Il apparaît que ce problème ne se produit que pour la première fenêtre du même domaine ouvert dans un nouvel onglet (j'ai vérifié le problème avec Target="_ vide" et en maintenant Ctrl en cliquant sur le lien).

  • Quand je regarde le trafic de biscuits avec violon, je peux voir que le Le cookie de session est envoyé normalement dans la demande initiale de Default.aspx. Lorsque je clique sur le lien pour ouvrir la page dans un nouvel onglet Le cookie de session n'est pas envoyé dans les en-têtes de la demande.
  • Si je redémarre le navigateur, allez à la page de test, ouvrez un nouvel onglet manuellement et collez la destination de la liaison dans celle-ci, le cookie est envoyé correctement dans les en-têtes de demande et la session du nouvel onglet correspond à l'onglet d'origine comme prévu.
  • Si je redémarre le navigateur, allez à la page de test, ouvrez Google à partir d'un Link ciblant _blank dans la page de test, puis cliquez sur le lien Ouverture de la page de test dans un nouvel onglet Le cookie est également envoyé correctement Dans les en-têtes de la demande et la session des matchs de la nouvelle fenêtre la fenêtre d'origine comme prévu.

Je crois que cela est un problème côté client, mais le site est en cours d'exécution de Windows Server Standard 2008 R2 SP 1 sur un site Web intégré 4.0 avec .NET 4.51 installé (également essayé avec seulement 4,5 installé).

Le client est Windows 7 64 bits en cours d'exécution IE11 (11.0.9600.16476). J'ai vérifié le problème sur d'autres machines exécutant Windows 7 à partir de IE11 et a confirmé qu'il n'est pas un problème dans IE10 de Windows 8 au mode de bureau. Tout fonctionne comme prévu dans Chrome et Firefox.

J'ai vérifié le problème persiste même si je:

  • Déplacez la sécurité de moyenne haute à moyenne
  • Désactiver le mode protégé
  • changer de confidentialité pour accepter tous les cookies
  • Ajoutez le site à la liste de site Web de la zone Intranet ou de la zone de confiance locale
  • Définissez une stratégie de confidentialité compacte P3P dans les en-têtes de réponse indiquant Aucune information n'est collectée ou utilisée.
  • Définissez une stratégie de confidentialité compacte P3P dans les en-têtes de réponse qui seraient généralement acceptées pour autoriser des cookies tiers dans une iframe dans des versions antérieures d'IE.
  • Modifiez le site Web ASP.NET Session Session State Paramètres à Cookieless="Usecookies" ou "False" ou supprimez l'attribut (ASP.NET STATE SERVEUR).

Des idées? Quelqu'un d'autre a-t-il vu cette question ou similaire?

Était-ce utile?

La solution

Ceci est un bogue actif selon Microsoft.Il n'y a apparemment pas de moyen côté serveur de résoudre ce problème.

Lien vers un rapport de bogue

Autres conseils

Pas une solution, mais un indice: Nous avons remarqué un comportement similaire et le suivi aux demandes de racine / BrowseConfig.xml, ce qui provoque l'utilisateur de devenir non authentifié.Server a envoyé un nouveau cookie de session car Windows n'envoie pas l'existence.Les demandes suivantes ont ensuite envoyé la nouvelle valeur de la session Cookie.Nous avons changé notre serveur pour rechercher cette demande et non défini sur les cookies de réponse.

Ce n'est pas une solution, mais:

Essayez milieu clic à la place .Si cela fonctionne pour vous 100% du temps (cela m'a fait)

js: links with target='_blank' on ie remove defaultBehaviour and trigger middle click.

problème résolu.

Même problème à venir pour mon identifiant, mais nous avons essayé de le résoudre en modifiant certains paramètres dans IE11 ou d'autres navigateurs problématiques.

Outils goto=> Options Internet=> Confidentialité Il clique sur le bouton Sites.Ajoutez MyDomain.com et cliquez sur le bouton Autoriser. Redémarrez votre navigateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top