Az Internet Explorer 6 FRAMESET-ek használata esetén nem őrzi meg a munkamenet-változókat

Már nem támogatott termékekre vonatkozó Tudásbázis-tartalom – Felelősséget kizáró nyilatkozat
Ez a cikk a Microsoft által már nem támogatott termékekre vonatkozik, ezért a továbbiakban tartalma már nem frissül, jelenlegi állapotában lesz elérhető.
A jelenség
Ha olyan keretkészletet használ, amelynek keretei eltérő hálózaton található webhelyekre, illetve saját hálózaton belüli, de eltérő legfelsőbb szintű kiszolgálónévhez tartozó webhelyekre mutatnak, az ezekben a keretekben beállított cookie-k az Internet Explorer 6 használata esetén elvesznek. A problémát általában az ASP vagy ASP.NET webes alkalmazás munkamenet-állapotainak elvesztése jelzi: a Session objektumhoz való hozzáféréskor a rendszer csupán egy üres karakterláncot ad vissza.

A jelenség emellett a keretek környezetében is megmutatkozhat, ha a weblapok vegyesen használnak DNS-neveket és IP-címeket.
Oka
Az Internet Explorer 6 támogatja a Platform for Privacy Preferences (P3P) projekt biztonsági házirendjeit. A P3P szabványai szerint a keretkészlet vagy szülőablak helyétől eltérő webhelyet megjelenítő keret vagy gyermekablak tartalma külső féltől származó tartalomnak minősül. Az Internet Explorer böngésző – mely alapértelmezés szerint Közepes adatvédelmi beállításokat használ – üzenet nélkül elutasítja a külső felektől származó cookie-kat.
A megoldás
A jelenség megkerüléséhez hozzáadhat egy P3P-házirendfejlécet a gyermektartalomhoz, és deklarálhatja, hogy a felhasználó adatait megfelelő módon kezeli. Ha az Internet Explorer megfelelő házirendet észlel, engedélyezi a cookie-k létrehozását.

A megfelelő és nem megfelelő házirendkódok listáját az MSDN alábbi webhelyén találhatja meg:

Privacy in Internet Explorer 6 (Az Internet Explorer 6 adatvédelme)
http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp

A jelen feltételnek az alábbi egyszerű házirend is megfelel:

P3P: CP="CAO PSA OUR"				
A fenti mintakód jelzi a böngésző számára, hogy a hely hozzáférést nyújt a felhasználó saját kapcsolatfelvételi adataihoz (CAO), melyek csupán látszólagos elemzésnek lesznek alávetve, vagyis az adatok kizárólag az online felhasználóhoz kapcsolódnak, nem pedig az adott személy kilétéhez (PSA), az adatokhoz pedig egyetlen külső szervezet sem férhet hozzá (OUR).

Ezt a fejlécet a Response.AddHeader metódus használatával állíthatja be a kívánt ASP-lapon (ASP.NET esetén a Response.AppendHeader metódus használandó). A statikus fájlhoz történő csatolás az IIS kezelőjének beépülő moduljával (inetmgr) végezhető el.

A fejléc statikus fájlhoz történő hozzáadásához hajtsa végre az alábbi lépéseket:
  1. Válassza a Start menü Futtatás parancsát, majd írja be az inetmgr parancsot.
  2. Jelölje ki a bal oldali ablaktáblában a webhelynek azt a fájlját vagy könyvtárát, amelyhez hozzá kívánja adni a fejlécet, majd kattintson a kijelölt elemre jobb gombbal, és válassza a Tulajdonságok parancsot.
  3. Kattintson a HTTP-fejlécek fülre.
  4. Kattintson az Egyéni HTTP-fejlécek csoportban található Hozzáadás gombra.
  5. Írja be a P3P karakterláncot a fejléc neveként, majd a házirend-karakterláncként írja be a CP=... szöveget, ahol „...” a házirendnek megfelelő kód.
Alternatív megoldásként a felhasználók módosíthatják az Internet Explorer adatvédelmi beállításait, hogy a böngésző a felhasználó megerősítése esetén elfogadhassa a külső felektől származó tartalmat. Az adatvédelmi beállítások módosításához hajtsa végre az alábbi lépéseket:
  1. Indítsa el az Internet Explorer böngészőt.
  2. Kattintson az Eszközök menü Internetbeállítások parancsára.
  3. Kattintson az Adatvédelem fülre, majd a Speciális gombra.
  4. Jelölje be Az automatikus cookie-kezelés felülbírálata jelölőnégyzetet.
  5. Ha engedélyezni kívánja az ASP- és ASP.NET-munkamenetek cookie-jainak tárolását, jelölje be a Munkamenet-cookie-k fogadása jelölőnégyzetet.
  6. Ha értesítést szeretne kapni a külső felek cookie-jairól, a Külső cookie-k csoportban jelölje be a Rákérdezés választógombot.
Állapot
Ez a jelenség tudatos tervezési döntés következménye.
További információ

A hiba ismételt előidézéséhez szükséges lépések

  1. Hozzon létre egy TesztKeretkészlet.asp nevű fájlt.
  2. A fájlban található keretek egyikét állítsa be úgy, hogy az a hálózat egy másik számítógépére mutasson, IP-cím használatával:
    <HTML><FRAMESET ROWS="100%,*"><FRAME src="http://111.111.111.111/TesztKeret.asp"></FRAME><FRAME src="about:blank"></FRAME></FRAMESET></HTML>
  3. Hozza létre a távoli számítógépen a TesztKészlet.asp fájlt az alábbi példának megfelelően:
    <HTML><BODY><%Response.write "A munkamenet-változó a következő: " & Session("Tesztvaltozo")Session("Tesztvaltozo") = "Helló, világ!"%><BODY><FORM METHOD="POST"><INPUT type="submit" value="Tesztváltozó kiírása"></FORM></BODY></HTML>
  4. Indítsa el a TesztKeretkészlet.asp fájlt, majd kattintson a Tesztváltozó kiírása gombra.
Mint láthatja az űrlap elküldését követően, a Session("Tesztvaltozo") bejegyzés üres, annak ellenére, hogy a „Helló, világ!” karakterláncot kéne tartalmaznia.
Hivatkozások
A Microsoft Tudásbázis kapcsolódó cikkei:
283185 Cookie-k kezelése az Internet Explorer 6 programban
290333 A Platform for Privacy Preferences (P3P) projekt ismertetése (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
293222 Az Internet Explorer 6 alapértelmezett adatvédelmi beállításai (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
elutasítás megjelenítés elutasítva külső fél eltérő tartomány
プロパティ

文書番号:323752 - 最終更新日: 07/24/2006 15:41:00 - リビジョン: 3.0

Microsoft Internet Explorer (Programming)

  • kbprb KB323752
フィードバック