Øktvariabler går tapt hvis du bruker RAMMESETT i Internet Explorer 6

Artikkeloversettelser Artikkeloversettelser
Artikkel-ID: 323752 - Vis produkter som denne artikkelen gjelder for.
Vis alt | Skjul alt

På denne siden

Symptom

Hvis du implementerer et RAMMESETT der RAMMENE peker til andre webområder i nettverkene til partnerne dine eller i ditt eget nettverk, men du bruker andre domenenavn på toppnivå, kan det se ut som at informasjonskapsler du forsøker å sette inn i disse RAMMENE i Internet Explorer 6, har gått tapt. Dette oppleves vanligvis som et tap av øktstatus i et webprogram av typen ASP (Active Server Pages) eller ASP.NET. Du forsøker å få tilgang til en variabel i Session-objektet som du forventer finnes, og i stedet returneres det en tom streng.

Dette problemet oppstår også i en RAMME-kontekst hvis websidene alternerer mellom bruken av DNS-navn (Domain Name System) og bruken av IP-adresser (Internet Protocol).

Årsak

Internet Explorer 6 inneholder støtte for P3P (Platform for Privacy Preferences Project). P3P-standarden noterer seg at hvis et RAMMESETT eller et overordnet vindu refererer til et annet område i en RAMME eller i et underordnet vindu, betraktes det underordnede området som tredjepartsinnhold. Internet Explorer, som bruker standardinnstillingen Middels for personvern, avviser stille informasjonskapsler som er sendt fra tredjepartsområder.

Løsning

Du kan legge til et kompakt P3P-policyhode i det underordnede innholdet, og du kan deklarere at ingen skadelige handlinger skal utføres med dataene til brukeren. Hvis Internet Explorer registrerer en tilfredsstillende policy, tillater Internet Explorer at informasjonskapselen angis.

Gå til følgende MSDN-webområde for å få en fullstendig oversikt over policykoder som fungerer og de som ikke fungerer:

Personvern i Internet Explorer 6
http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp

En enkel kompakt policy som oppfyller disse vilkårene følger:

P3P: CP="CAO PSA OUR"
				
Dette kodeeksemplet viser at området ditt gir deg tilgang til din egen kontaktinformasjon (CAO), at eventuelle analyserte data bare er "pseudo-analysert", som betyr at dataene er koblet til din elektroniske person, og ikke til din fysiske identitet (PSA), og at dataene ikke er levert for bruk til eventuelle utenforliggende organer (OUR).

Du kan angi dette hodet hvis du bruker metoden Response.AddHeader i en ASP-side. I ASP.NET kan du bruke metoden Response.AppendHeader. Du kan bruke snapin-modulen IIS Management (inetmgr) til å legge til i en statisk fil.

Bruk følgende fremgangsmåte for å legge til dette hodet i en statisk fil:
  1. Klikk Start, klikk Kjør, og skriv deretter inn inetmgr.
  2. I venstre navigasjonsrute klikker du den aktuelle filen eller katalogen på webområdet der du vil legge inn hodet, høyreklikker filen, og klikker deretter Egenskaper.
  3. Klikk kategorien HTTP-hoder.
  4. I gruppeboksen Egendefinerte HTTP-hoder klikker du Legg til.
  5. Skriv inn P3P for hodenavnet, og deretter skriver du inn CP=... for strengen for den kompakte policyen, der "..." er den riktige koden for din kompakte policy.
Brukere av Internet Explorer kan eventuelt endre sine personverninnstillinger slik at de blir bedt om å godta innhold fra en tredjepart. Følgende fremgangsmåte viser deg hvordan du endrer personverninnstillingene:
  1. Kjør Internet Explorer.
  2. Klikk Verktøy og deretter Alternativer for Internett.
  3. Klikk kategorien Personvern, og klikk deretter Avansert.
  4. Merk av for Overstyr automatisk håndtering av informasjonskapsler.
  5. Hvis du vil tillate at det kan angis ASP- og ASP.NET-øktsinformasjonskapsler, merker du av for Tillat alltid øktsinformasjonskapsler.
  6. Hvis du vil motta en melding for en hvilken som helst type informasjonskapsel fra en tredjepart, klikker du Spør i listen Tredjeparts informasjonskapsler.

Status

Dette er den ønskede virkemåten.

Mer informasjon

Fremgangsmåte for å gjenskape problemet

  1. Opprett en fil kalt TestFrameset.asp.
  2. Pek på en av RAMMENE av filen til en annen datamaskin i nettverket ved hjelp av IP-adresser:
    <HTML>
    
    <FRAMESET ROWS="100%,*">
    <FRAME src="http://111.111.111.111/testFrame.asp"></FRAME>
    <FRAME src="about:blank"></FRAME>
    </FRAMESET>
    
    
    </HTML>
    					
  3. På den eksterne datamaskinen oppretter du TestFrame.asp som i følgende eksempel:
    <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. Flytt til TestFrameset.asp, og klikk deretter Innsendelse av skjema.
Legg merke til at etter sendingen skrives oppføringen Session("TestVar") ut som tom, selv om den burde inneholdt "Hello, world!".

Referanser

Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnumre for å vise artiklene i Microsoft Knowledge Base:
283185 Slik håndterer du informasjonskapsler (cookies) i Internet Explorer 6
290333 Beskrivelse av P3P (Platform for Privacy Preferences Project) (denne artikkelen kan være på engelsk)
293222 Standard personverninnstillinger for Internet Explorer 6 (denne artikkelen kan være på engelsk)

Egenskaper

Artikkel-ID: 323752 - Forrige gjennomgang: 10. oktober 2006 - Gjennomgang: 3.0
Informasjonen i denne artikkelen gjelder:
  • Microsoft Internet Explorer (Programming)
Nøkkelord: 
kbprb KB323752
Ansvarsfraskrivelse for utgått Knowledge Base-innhold
Denne artikkelen omhandler produkter som Microsoft ikke lenger tilbyr støtte for. Artikkelen tilbys derfor "som den er" og vil ikke bli oppdatert.

Gi tilbakemelding

 

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