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

A cikk fordítása A cikk fordítása
Cikk azonosítója: 323752 - A cikkben érintett termékek listájának megtekintése.
Az összes kibontása | Az összes összecsukása

A lap tartalma

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.)

Tulajdonságok

Cikk azonosítója: 323752 - Utolsó ellenőrzés: 2006. július 24. - Verziószám: 3.0
A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft Internet Explorer (Programming)
Kulcsszavak: 
kbprb KB323752
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.
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ő.

Visszajelzés küldése

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com