Spremenljivke seje se izgubijo, če uporabite FRAMESET v Internet Explorerju 6

Prevodi člankov Prevodi člankov
ID članka: 323752 - Oglejte si izdelke, na katere se nanaša ta članek.
Razširi vse | Zmanjšaj

Na tej strani

SIMPTOMI

Če uvedete FRAMESET, katerih FRAME-i kažejo na druga spletna mesta v omrežjih vaših partnerjev ali vašem omrežju in uporabite druga imena domen najvišje ravni, boste morda v Internet Explorerju 6 opazili, da so piškotki, ki jih poskušate nastaviti v tistih FRAME-ih, izgubljeni. To se pogosto izkaže kot izguba stanja seje v spletnih aplikacijah ASP (Active Server Pages) ali ASP.NET. Poskušate priti do spremenljivke v predmetu Session, za katero pričakujete, da obstaja, računalnik pa vam namesto tega vrne prazen niz.

To težavo vidite tudi v kontekstu FRAME-ov, če spletne strani izmenjujejo med uporabo imen sistema imenskih domen (DNS) in uporabo naslovov internetnega protokola (IP).

VZROK

Internet Explorer 6 je uvedel podporo za standard »Platform for Privacy Preferences (P3P) Project«. Če se FRAMESET ali nadrejeno okno sklicujeta na drugo mesto v FRAME-u ali v podrejenem oknu, standard P3P opazi, da se podrejeno mesto smatra za vsebino drugega izdelovalca. Internet Explorer, ki uporablja privzeto nastavitev zasebnosti Srednja, brez opozorila zavrne piškotke, ki jih pošljejo strani drugih izdelovalcev.

REŠITEV

Glavo zgoščenega pravilnika P3P lahko dodate podrejeni vsebini, poleg tega pa lahko deklarirate, da se s podatki uporabnika ne sme izvajati nobeno zlonamerno dejanje. Če Internet Explorer zazna zadovoljiv pravilnik, dovoli nastavitev piškotka.

Obiščite spletno mesto MSDN za celoten seznam zadovoljivih in nezadovoljivih kod pravilnikov:

Zasebnost v Internet Explorerju 6
http://msdn.microsoft.com/workshop/security/privacy/overview/privacyie6.asp

Preprost zgoščeni pravilnik, ki izpolnjuje ta kriterij:

P3P: CP="CAO PSA OUR"
				
Vzorec kode prikazuje, da vam mesto zagotavlja dostop do lastnih kontaktnih informacij (CAO) in da so analizirani podatki samo »lažno analizirani«. To pomeni, da so podatki povezani z vašo spletno osebo in ne s fizično identiteto (PSA) in da računalnik ne ponudi podatkov nobeni zunanji agenciji za uporabo (OUR).

To glavo lahko nastavite, če na strani ASP uporabite način Response.AddHeader. V ASP.NET-u lahko uporabite način Response.AppendHeader. Za dodajanje statične datoteke lahko uporabite snap-in (inetmgr) upravljanja spletnega strežnika IIS (Internet Information Server).

Če želite statični datoteki dodati to glavo, sledite naslednjim korakom:
  1. Kliknite Start, Zaženi in vnesite inetmgr.
  2. Na levi strani za krmarjenje kliknite ustrezno datoteko ali imenik na spletnem mestu, ki mu želite dodati glavo, z desno tipko miške kliknite datoteko in nato kliknite Lastnosti.
  3. Kliknite jeziček Glave HTTP.
  4. V okvirčku skupine Glave HTTP po meri kliknite Dodaj.
  5. Vnesite P3P za ime glave in za niz zgoščenega pravilnika vnesite CP=..., kjer je »...« ustrezna koda za zgoščeni pravilnik.
Uporabniki Internet Explorerja lahko spremenijo tudi svoje nastavitve pravilnika, tako da jih računalnik pozove, ali želijo sprejeti vsebino drugega izdelovalca. Naslednji koraki prikazujejo, kako spremenite nastavitve pravilnika:
  1. Zaženite Internet Explorer.
  2. Kliknite Orodja in nato še Internetne možnosti.
  3. Kliknite jeziček Zasebnost in nato še Dodatno.
  4. Potrdite polje Prepiši samodejno obravnavo piškotkov.
  5. Če želite dovoliti nastavitev piškotkov v času seje za ASP in ASP.NET, potrdite polje Vedno dovoli piškotke v času seje.
  6. Če želite prejeti poziv za vse vrste drugih piškotkov, na seznamu Drugi piškotki kliknite Pozovi.

STANJE

To ni napaka, ampak predvideno delovanje.

DODATNE INFORMACIJE

Koraki za vnovično delovanje

  1. Ustvarite ime datoteke TestFrameset.asp.
  2. Z naslovi IP pokažite na enega od FRAME-ov datoteke do drugega računalnika v omrežju:
    <HTML>
    
    <FRAMESET ROWS="100%,*">
    <FRAME src="http://111.111.111.111/testFrame.asp"></FRAME>
    <FRAME src="about:blank"></FRAME>
    </FRAMESET>
    
    
    </HTML>
    					
  3. V oddaljenem računalniku ustvarite tako ime datoteke TestFrame.asp, kot prikazuje naslednji primer:
    <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. Pomaknite se v datoteko TestFrameset.asp in kliknite Pošlji obrazec.
Po pošiljanju se vnos Session("TestVar") natisne kot prazen, čeprav bi moral vsebovati "Hello, world!".

SKLICI

Če želite več informacij, kliknite naslednje številke člankov iz Microsoftove zbirke znanja:
283185 Upravljanje piškotkov v Internet Explorerju 6 (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini.)
290333 Opis standarda »Platform for Privacy Preferences (P3P) Project« (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini.)
293222 Privzeta nastavitev pravilnika za Internet Explorer 6 (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini.)

Lastnosti

ID članka: 323752 - Zadnji pregled: 21. april 2006 - Revizija: 3.0
VELJA ZA:
  • Microsoft Internet Explorer (Programming)
Ključne besede: 
kbprb KB323752
Odrekanje odgovornosti za vsebino zastarelega članka iz baze znanja
V tem članku so opisani izdelki, za katere Microsoft ne nudi več podpore. Zato je ta članek »tak, kot je« in ga ne bomo več posodabljali.

Pošlji povratne informacije

 

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