IE11新しいタブをターゲットにするリンクがクリックされたとき(最初のリクエスト)のときにセッションCookieを送信しません。
-
21-12-2019 - |
質問
IE11から初期の新しいタブ(ターゲット_blank)を開くときにセッションを保持している問題をいくつか持っています。
IE11のすべてのインスタンスを閉じてから、新しいブラウザを開き、テストWebページ(Default.aspx)に移動したとき(default.aspx)ページはセッション内の値を格納し、そのページのセッションIDを表示します。ページを更新すると、セッションIDは同じままです。ページには、_blankのターゲットを持つ自身(default.aspx)へのリンクがあります。このリンクをクリックすると、新しいタブが開かれますが、セッション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>
.
この問題が表示されているように見えるこの問題は、新しいタブで開かれた同じドメイン上の最初のウィンドウに対してのみ発生します(私はtarget="_空白の両方で問題を検証し、リンクをクリックしながらCtrlキーを押しながら)。
- フィドラーでクッキートラフィックを見るとき、私はそれを見ることができます セッションCookieは通常のリクエストで通常送信されます。 default.aspx。リンクをクリックして新しいタブでページを開く セッションCookieはリクエストヘッダーで送信されていません。
- ブラウザを再起動した場合は、テストページに移動し、新しいタブを開きます 手動でリンク先をそれに貼り付けるクッキーが送信されます リクエストヘッダーと新しいタブからのセッションで正しく オリジナルのタブと予想されています。
- ブラウザを再起動する場合は、テストページにアクセスしてからGoogleを開く テストページの_blankをターゲットにして、リンクをクリックします。 新しいタブでテストページを開くクッキーも正しく送信されます リクエストヘッダーと新しいウィンドウとのセッションで一致する 期待どおりのウィンドウ。
私はこれがクライアント側の問題であると信じていますが、このサイトは、.NET 4.51がインストールされている4.0統合されたWebサイトで、Windows Server Standard 2008 R2 SP 1から実行されています。
クライアントはWindows 7 64ビット実行IE11(11.0.9600.16476)です。 IE11からWindows 7を実行している他のマシンに関する問題を確認し、デスクトップモードでWindows 8からIE10の問題ではないことを確認しました。すべてがChromeとFirefoxで予想されるように機能します。
私は私:
であっても問題が解決しないことを確認しました- 中型から中程度の へのセキュリティを移動する
- 保護モードを無効にする
- すべてのCookieを受け入れるためにプライバシーを変更する
- ローカルイントラネットまたは信頼できるサイトゾーンのWebサイトリスト のどちらにも追加します。
- SET P3Pコンパクトプライバシーポリシー情報が収集されていないか使用されていません。
- 通常のバージョンのIEのバージョン内のIFRAME内で3番目のパーティのクッキーを許可するように承認されるレスポンスヘッダにP3Pコンパクトプライバシーポリシーを設定します。
- WebサイトのASP.NETセッション状態の設定をCookieless="UseCookies"または "False"または "False"または属性を削除します(ASP.NET State Server)
任意のアイデア?他の誰かがこの問題または類似した?
解決
マイクロソフトによるとアクティブなバグです。これを修正するためのサーバー側の方法は明らかにありません。
他のヒント
解決策ではなく、手がかり: 同様の動作に気付いて、ユーザーが認証されていないroot / brownerconfig.xmlに要求するためにそれを追跡しました。Windowsが既存のものを送信していないため、サーバーは新しいセッションCookieを送信しました。その後、新しいセッションCookie値を送信します。この要求を探すようにサーバーを変更し、Response Cookieを設定しません。
これは解決策ではありませんが、:
を試してみてくださいをクリックしてください。それがあなたのために100%のためにうまくいっているなら(それは私のためにしました)
js: links with target='_blank' on ie remove defaultBehaviour and trigger middle click.
.
問題解決しました。
同じ問題が私のログインのために来るが、IE11または他の問題のあるブラウザでいくつかの設定を変更することによってそれを解決するように試してみました。
GOTOツール=>インターネットオプション=>プライバシー サイトボタンをクリックします。mydomain.comを追加して[許可]ボタンをクリックします。 ブラウザを再起動してください。