Help and Support

ID c?a bài: 323752 - L?n xem xét sau cùng: 15 Tháng Sáu 2007 - Xem xét l?i: 3.0

Các biến của phiên bị mất nếu bạn sử dụng FRAMESET trong Internet Explorer 6

? Trang này

Bung t?t c? | Thu g?n t?t c?

TRI?U CH?NG

Nếu bạn cài FRAMESET có các FRAME trỏ tới các Web site khác trên mạng của các đối tác hoặc bên trong mạng của bạn, nhưng bạn lại sử dụng các tên miền cấp cao khác nhau, bạn có thể nhận thấy rằng trong Internet Explorer 6, bất kỳ cookie nào mà bạn cố cài trong các FRAME đó đều bị mất. Hiện tượng này phần lớn là do mất trạng thái phiên trong ứng dụng Web Trang máy chủ hiện hoạt (ASP) hoặc ASP.NET. Bạn cố gắng truy nhập vào một biến trong đối tượng Phiên mà bạn cho là tồn tại, tuy nhiên kết quả trả lại là một chuỗi trống.

Bạn cũng gặp phải vấn đề này trong bối cảnh FRAME nếu các trang Web của bạn luân phiên sử dụng các tên thuộc Hệ thống Tên miền (DNS) và các địa chỉ Giao thức Internet (IP).

NGUYÊN NHÂN

Internet Explorer 6 hỗ trợ Dự án Platform for Privacy Preferences (P3P). Theo Tiêu chuẩn P3P, nếu một FRAMESET hoặc một cửa sổ chính tham chiếu một trang khác bên trong một FRAME hoặc một cửa sổ phụ, trang web phụ sẽ được coi là nội dung của bên thứ ba. Internet Explorer sử dụng thiết đặt riêng tư mặc định Mức trung bình tự động loại bỏ các cookie được gửi từ các trang của bên thứ ba.

GI?I PHÁP

Bạn có thể thêm tiêu đề chính sách thỏa thuận P3P cho nội dung phụ, và bạn có thể khẳng định rằng không có hành động gây hại với dữ liệu của người dùng được diễn ra. Nếu Internet Explorer dò thấy một chính sách thích hợp, Internet Explorer sẽ cho phép cài cookie.

Ghé thăm Web site MSDN sau để xem danh sách hoàn chỉnh các mã chính sách thích hợp và không thích hợp:

Bảo mật trong Internet Explorer 6
http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp (http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp)

Một chính sách thỏa thuận đơn giản đáp ứng tiêu chí này tuân theo:

P3P: CP="CAO PSA OUR"
				
Mẫu mã này cho biết trang của bạn cho phép bạn truy nhập vào thông tin liên hệ riêng (CAO) và bất kỳ dữ liệu được phân tích nào cũng chỉ là “phân tích giả”, nghĩa là những dữ liệu được kết nối với nhân vật trực tuyến mà không phải với danh tính thực của bạn (PSA), và dữ liệu của bạn không được cung cấp cho bất kỳ tác nhân bên ngoài nào để sử dụng (OUR).

Bạn có thể cài tiêu đề này nếu bạn sử dụng phương pháp Response.AddHeader trên trang ASP. Trong ASP.NET, bạn có thể sử dụng phương pháp Response.AppendHeader. Bạn có thể sử dụng Phần đính vào Quản lý IIS (inetmgr) để thêm vào một tệp tĩnh.

Làm theo những bước sau để thêm tiêu đề này vào tệp tĩnh:
  1. Bấm Bắt đầu, bấm Chạy, sau đó gõ inetmgr.
  2. Trong trang dẫn hướng trái, bấm tệp hoặc thư mục thích hợp trong Web site mà bạn muốn thêm tiêu đề, bấm chuột phải vào tệp đó, sau đó bấm Các thuộc tính.
  3. Bấm tabTiêu đề HTTP.
  4. Trong ô nhóm Tuỳ chỉnh Tiêu đề HTTP, bấm Thêm.
  5. Gõ P3P làm tên đầu trang, sau đó đối với chuỗi chính sách thỏa thuận, gõ CP=..., trong đó "..." là mã thích hợp với chính sách thỏa thuận của bạn.
Hoặc người dùng Internet Explorer có thể chỉnh sửa thiết đặt quyền riêng tư của mình để được nhắc chấp nhận nội dung thuộc bên thứ ba. Các bước sau cho biết cách chỉnh sửa các thiết đặt quyền riêng tư:
  1. Chạy Internet Explorer.
  2. Bấm Công cụ, sau đó bấm tuỳ chọn Internet.
  3. Click the Privacy tab, and then click Advanced.
  4. Bấm chọn hộp kiểm Ghi đè điều khiển cookie tự động.
  5. Để cho phép cookie phiên ASP và ASP.NET được cài đặt, bấm chọn hộp kiểm Luôn cho phép cookie phiên.
  6. Để nhận lời nhắc đối với bất kỳ loại cookie thuộc bên thứ ba nào, bấm Lời nhắc trong danh sách Cookie thuộc bên thứ ba.

T?NH TR?NG

Hành vi này là theo thiết kế.

THÔNG TIN THÊM

Các bước mô phỏng hành vi.

  1. Tạo tên tệp TestFrameset.asp.
  2. Trỏ vào một trong những FRAME của tệp sang máy tính khác trên mạng của bạn bằng địa chỉ IP:
    <HTML>
    
    <FRAMESET ROWS="100%,*">
    <FRAME src="http://111.111.111.111/testFrame.asp"></FRAME>
    <FRAME src="about:blank"></FRAME>
    </FRAMESET>
    
    
    </HTML>
    					
  3. Ở máy tính từ xa, tạo TestFrame.asp giống như ví dụ sau:
    <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. Chuyển tới TestFrameset.asp, sau đó bấm Gửi mẫu.
Chú ý rằng sau khi gửi đi thì mục nhập Session("TestVar") là trống mặc dù lẽ ra nó phải có "Hello, world!".

THAM KH?O

Để biết thêm thông tin, bấm số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
283185  (http://support.microsoft.com/kb/283185/ ) Cách quản lý cookie trong Internet Explorer 6 (Bài viết này có thể chứa liên kết tới nội dung tiếng Anh (chưa được dịch)).
290333  (http://support.microsoft.com/kb/290333/ ) Mô tả về dự án Platform for Privacy Preferences (P3P) (Bài viết này có thể chứa liên kết tới nội dung tiếng Anh (chưa được dịch)).
293222  (http://support.microsoft.com/kb/293222/ ) Thiết đặt quyền riêng tư mặc định trong Internet Explorer 6 (Bài viết này có thể chứa liên kết tới nội dung tiếng Anh (chưa được dịch)).

Áp d?ng
  • Microsoft Internet Explorer (Programming)
T? khóa: 
kbprb KB323752
Retired KB ArticleKhước từ Nội dung trong Cơ sở Kiến thức Không còn được hỗ trợ
Bài vi?t này nói v? các s?n ph?m mà Microsoft không c?n h? tr? n?a. Do đó, bài vi?t này đư?c cung c?p "nguyên b?n" và s? không đư?c c?p nh?t.

D?ch tiêu đ?