文章編號: 323752 - 上次校閱: 2006年4月21日 - 版次: 3.0

如果您在 Internet Explorer 6 中使用 FRAMESET 將會遺失工作階段變數

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

如果您實作的 FRAMESET,其圖文框指向其他在網路上您的夥伴或內部網路上的網站,但使用不同的最上層網域名稱您可能會發現在網際網路總管 6 您嘗試在那些圖文框中設定任何 Cookie 似乎是遺失。這是最常遇到為遺失的動態伺服器網頁 (ASP) 或 ASP.NET Web 應用程式中的工作階段狀態。您嘗試存取工作 階段 物件,您預期要存在,並而是傳回空白的字串中的變數。

您也會看到這個問題在圖文框內容中的如果您的網頁使用的網域名稱系統 (DNS) 名稱與使用的網際網路通訊協定 (IP) 位址間的替代。

發生的原因

Internet Explorer 6 引入隱私喜好設定 (P3P) 專案的平台的支援。P3P 標準筆記如果一個 FRAMESET 或父視窗的參照一個框架內或子視窗內的另一個站台,子網站會被視為協力廠商的內容。網際網路檔案總管會使用預設的隱私權設定 的以無訊息模式拒絕寄件者的協力廠商網站的 Cookie。

解決方案

您可以將 P3P 壓縮原則標頭加入您的子內容,而您可以宣告沒有惡意的動作會執行與使用者資料。如果 Internet Explorer 偵測到令人滿意的原則,Internet Explorer 會允許設定 Cookie。

請造訪下列 MSDN 網站令人滿意,並不令人滿意的原則代碼的完整清單:

在 Internet Explorer 6 中的隱私權
http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp (http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp)

簡單的壓縮原則符合此準則如下:

P3P: CP="CAO PSA OUR"
				
這個程式碼範例會示範您的網站提供您存取您自己的連絡資訊 (CAO) 任何分析的資料是唯一"pseudo-analyzed",這表示資料給線上人物代表,而非您實體的身分 (PSA) 連接,而您的資料未提供任何外部機構的使用 (OUR) 那些機構。

如果您在 ASP 網頁中使用 Response.AddHeader 方法,您可以設定此標頭。在 ASP.NET 中,您可以使用 Response.AppendHeader 方法。您可以使用 [IIS 管理嵌入式管理單元 (inetmgr) 加入至靜態檔案。

請依照下列步驟將這個標頭加入至靜態檔案:
  1. 按一下 [開始],再按一下 [執行],然後再輸入 inetmgr
  2. 左邊的導覽] 頁面中按一下適當的檔案或目錄,在您的網站上您想要新增標頭、 在檔案上按一下滑鼠右鍵,然後按一下 [內容]
  3. 按一下 [HTTP 表頭] 索引標籤。
  4. 在 [自訂 HTTP 表頭] 群組方塊中,按一下 [新增]。
  5. 輸入 P3P 的標頭] 名稱,然後壓縮原則] 字串的輸入 CP =...,其中"..."是壓縮原則適當的程式碼。
或者,Internet Explorer 的使用者可以修改它們的隱私權設定,使會提示他們接受協力廠商的內容。下列步驟說明如何修改隱私權設定:
  1. 執行的 Internet Explorer。
  2. 按一下 [工具],然後再按一下 [網際網路選項]
  3. 按一下 [隱私] 索引標籤,然後按一下 [進階]。
  4. 按一下以選取 [強制覆寫自動 Cookie 處理] 核取方塊。
  5. 若要以便 ASP 和 ASP.NET 工作階段 Cookie 設定按一下以選取 [永遠允許工作階段 Cookie] 核取方塊。
  6. 收到提示,任何類型的第三方 Cookie,按一下 [第三方 Cookie] 清單中的 [提示]。

狀況說明

這種行為是經過設計規劃的。

其他相關資訊

重現這個問題的步驟

  1. 建立檔案名稱 TestFrameset.asp。
  2. 點圖文框的其中一個網路上另一台電腦檔案的透過 IP 位址的方式:
    <HTML>
    
    <FRAMESET ROWS="100%,*">
    <FRAME src="http://111.111.111.111/testFrame.asp"></FRAME>
    <FRAME src="about:blank"></FRAME>
    </FRAMESET>
    
    
    </HTML>
    					
  3. 在遠端電腦上建立 TestFrame.asp 如下列範例所示:
    <HTML>
    
    <BODY>
    
    <%
    
    Response.write "Session var is " & Session("TestVar")
    Session("TestVar") = "Hello, world!"
    
    %>
    
    <BODY>
    
    <FORM METHOD="POST">
    <INPUT type="submit" value="Print TestVar">
    </FORM>
    
    </BODY>
    
    </HTML>
    					
  4. 移至 TestFrameset.asp,然後按一下 [表單送出]。
請注意,雖然它應包含 Session("TestVar") 項目會列印空白,作為送出後的"Hello,世界!"。

?考

如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件]:
283185? (http://support.microsoft.com/kb/283185/ ) 如何管理 Internet Explorer 6 的 Cookie
290333? (http://support.microsoft.com/kb/290333/ ) 隱私喜好設定 (P3P) 專案的平台的描述
293222? (http://support.microsoft.com/kb/293222/ ) Internet Explorer 6 預設隱私權設定

這篇文章中的資訊適用於:
  • Microsoft Internet Explorer (Programming)
關鍵字:?
kbmt kbprb KB323752 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:323752? (http://support.microsoft.com/kb/323752/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
Retired KB Article依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。