Du er offline. Venter på, at der oprettes forbindelse til internettet igen

Din browser understøttes ikke.

Du skal opdatere din browser for at bruge webstedet.

Opdater til den nyeste version af Internet Explorer

Sessionsvariabler går tabt ved brug af FRAMESET i Internet Explorer 6

Ansvarsfraskrivelse i forbindelse med udgået indhold i Knowledge Base
Denne artikel beskriver produkter, som Microsoft ikke længere yder support til. Artiklen foreligger 'i forhåndenværende stand' og opdateres ikke længere.
Symptomer
Hvis du implementerer et FRAMESET, hvis FRAMEs peger på andre websteder på dine partneres netværk eller på dit eget netværk, men du bruger forskellige domænenavne på øverste niveau, vil du muligvis opdage, at de eventuelle cookies, du forsøger at angive i disse FRAMEs i Internet Explorer 6, ser ud til at være gået tabt. Dette opleves ofte som et tab af sessionsstatus i et ASP- (Active Server Pages) eller et ASP.NET-webprogram. Du forsøger at få adgang til en variabel i objektet Session, som du forventer eksisterer, men der returneres i stedet en tom streng.

Du kan også opleve problemet i forbindelse med FRAMEs, hvis websiderne skifter mellem at bruge DNS-navne (Domain Name System) og IP-adresser (Internet Protocol).
Årsag
Med Internet Explorer 6 blev der introduceret understøttelse af P3P (Platform for Privacy Preferences). P3P-standard betyder, at hvis et FRAMESET eller et overordnet vindue refererer til et andet sted i en FRAME eller i et underordnet vindue, betragtes det underordnede sted som tredjepartsindhold. I Internet Explorer bruges standardindstillingen Mellem til beskyttelse af personlige oplysninger, og cookies fra tredjepartssteder afvises automatisk i Internet Explorer, uden at der vises en meddelelse for brugeren.
Løsning
Du kan føje en P3P-overskrift med en kort beskrivelse af politikken til beskyttelse af personlige oplysninger til det underordnede indhold, og du kan angive, at der ikke udføres nogen ondsindet handling på baggrund af brugerens data. Hvis der registreres en tilfredsstillende politik til beskyttelse af personlige oplysninger i Internet Explorer, tillader programmet, at der angives en cookie.

Du kan få vist en komplet oversigt over tilfredsstillende og utilfredsstillende koder til beskyttelse af personlige oplysninger på følgende MSDN-websted:

Beskyttelse af personlige oplysninger i Internet Explorer 6
http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp

I det følgende er vist en eksempel på en politik til beskyttelse af personlige oplysninger, som opfylder kriterierne i Internet Explorer 6:

P3P: CP="CAO PSA OUR"				
I dette kodeeksempel er det angivet, at du får adgang til dine egne kontaktoplysninger (CAO) via webstedet, at alle analyserede data kun "pseudo-analyseres", hvilket vil sige, at dataene udelukkende knyttes til din onlineidentitet og ikke til din fysiske identitet(PSA), og at dine data ikke videregives til andre eksterne institutioner (OUR).

Du kan angive denne overskrift, hvis du bruger metoden Response.AddHeader på en ASP-side. I ASP.NET kan du bruge metoden Response.AppendHeader. Du kan lave tilføjelser til en statisk fil ved hjælp af snap in-programmet IIS Management (inetmgr).

Du kan føje denne overskrift til en statisk fil ved at følge disse trin:
  1. Klik på Start, klik på Kør, og skriv derefter inetmgr.
  2. Klik på den relevante fil eller mappe på navigationssiden til venstre, som du vil føje overskriften til, højreklik på filen, og klik derefter på Egenskaber.
  3. Klik på fanen HTTP-headere.
  4. Klik på Tilføj i gruppefeltet Brugerdefinerede HTTP-headere.
  5. Skriv P3P som headernavn, og skriv derefter følgende korte streng for politikken til beskyttelse af personlige oplysninger CP=..., hvor "..." er den relevante korte kode for den politik, der anvendes.
Brugere af Internet Explorer kan også redigere indstillingerne for beskyttelse af personlige oplysninger, så der automatisk bliver spurgt, om tredjepartsindhold accepteres. I det følgende er beskrevet de trin, der skal udføres for at ændre indstillingerne for beskyttelse af personlige oplysninger:
  1. Start Internet Explorer.
  2. Klik på Funktioner, og klik derefter på Internetindstillinger.
  3. Klik på fanen Beskyttelse af personlige oplysninger, og klik derefter på Avanceret.
  4. Marker feltet Tilsidesæt automatisk behandling af cookies.
  5. Du kan tillade angivelse af cookies i ASP- og ASP.NET-sessioner ved at markere feltet Tillad altid cookies under sessionen.
  6. Klik på Prompt på listen Tredjepartscookies, hvis der skal vises en prompt i forbindelse med tredjepartsindhold.
Status
Denne funktionsmåde er tilsigtet.
Yderligere Information

Trin til genskabelse af funktionsmåden

  1. Opret en fil med navnet TestFrameset.asp.
  2. Lad en af filens FRAMEs pege på en anden computer på netværket ved hjælp af IP-adresser:
    <HTML><FRAMESET ROWS="100%,*"><FRAME src="http://111.111.111.111/testFrame.asp"></FRAME><FRAME src="about:blank"></FRAME></FRAMESET></HTML>					
  3. Opret en TestFrame.asp på fjerncomputeren med følgende indhold:
    <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. Flyt til TestFrameset.asp, og klik derefter på Afsendelse af formular.
Bemærk, at efter indsendelsen udskrives posten Session("TestVar") som et tom post, selvom den burde indeholde "Hello, world!".
Referencer
Du kan finde flere oplysninger ved at klikke på nedenstående artikelnumre for at få vist artiklerne i Microsoft Knowledge Base:
283185 Sådan håndteres cookies i Internet Explorer 6
290333 Beskrivelse af P3P-projektet med platformen til beskyttelse af personlige oplysninger. Artiklen er evt. på engelsk.
293222 Standardindstillingerne for beskyttelse af personlige oplysninger i Internet Explorer 6. Artiklen er evt. på engelsk.
reject display rejected 3rd party different domain
Egenskaber

Artikel-id: 323752 – Seneste udgave 10/10/2006 14:08:39 – Udgave 3.0

  • Microsoft Internet Explorer (Programming)
  • kbprb KB323752
Feedback
>>ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>"); &t=">