Toon posts:

[ASP] cookies doen het niet ie wel in firefox

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer via asp gebruik te maken van cookies met de volgende code:

ASP:
1
Response.cookies("naam") = "inhoud"


op een andere pagina haal ik de naam weer op dmv:
ASP:
1
request.cookies("naam")


Dit heb ik getest in Mozilla Firefox en het werkt goed.

Vervolgens wou ik dit gaan testen met Internet Explorer 6.0 maar dat werkt niet. Er wordt helemaal geen cookie gemaakt.

Ook als ik de cookie een expire datum geef werkt dit wel in FF maar niet in IE.

Als eerste bedacht ik dat IE misschien cookies niet accepteerd maar dat bleek niet het geval te zijn.
Als ik de beide bovenstaande stukjes code op 1 pagina zet werkt het wel (maar daar heb ik natuurlijk niets aan).

Ik heb dit op verschillende pc's geprobeerd (wel zelfde IE en cookies geaccepteerd) maar het resultaat is het zelfde.

Heeft iemand hiervoor een oplossing? Ik zie waarschijnlijk iets over het hoofd maar kan niet bedenken wat dat is.

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Debug even door altijd autorisatie voor het zetten van cookies aan te zetten, kan je zien of er in ieder geval een poging tot wegschrijven wordt gedaan.

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 08-05 18:23
Het eerste wat me altijd te binnen schiet als cookies niet werken in IE6 en wel in FF zijn P3P policy headers. Een van de weinige W3C-standaarden waarin IE voorop loopt. Het concept is dat je op je site aangeeft wat je met gegevens van je bezoeker gaat doen. De browser verifieert dit met privacy instellingen en besluit wat te doen met bijvoorbeeld cookies. Zonder P3P header worden persitent cookies nogal eens gewijgerd. De oplossing is dan om voor het cookie te zetten zo'n header te sturen.

De volgende header doet het bij mij altijd goed (tis PHP maar in ASP kun je vast ook headers sturen)
PHP:
1
header ('p3p: CP="ALL DSP COR TAIa HISa OTPa OUR PUBi NOR IND UNI COM CNT OTC"');

Als je het echt netjes wil doen dan creëer je zelf een volledige policy (IBM heeft daarvoor een P3P editor gemaakt) en een kloppende compact policy voor je site. Als het je alleen om het cookie gaat zal bovenstaande CP genoeg doen.

Regeren is vooruitschuiven


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-05 21:02

killercow

eth0

Zit er toevallig een - in je domein naam? dat mag niet volgens de url specs, en dus pikt IE6 je cookie niet, lomp maar so be it.

ook in sub domains mag geen - zitten. Hope it helps.

openkat.nl al gezien?


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
-delete-

[ Voor 99% gewijzigd door raptorix op 13-04-2005 16:51 ]


Verwijderd

Topicstarter
T-MOB schreef op woensdag 13 april 2005 @ 12:50:
Het eerste wat me altijd te binnen schiet als cookies niet werken in IE6 en wel in FF zijn P3P policy headers....
Hier had ik nog nooit van gehoord maar na wat gesurf blijkt het dus wel zo te zijn (leermoment van de dag ;) ). Ik heb dus zo'n header gemaakt in asp maar dat had geen enkele zin. Er veranderde niets. Ergens las ik ook nog dat die header ingesteld kan worden bij de eigenschappen van de website in de IIS console ook hier heb ik het geprobeerd maar er veranderde niets.

Is het btw te testen of dit goed werkt of moet je dan gewoon zien of er een cookie komt?
killercow schreef op woensdag 13 april 2005 @ 16:37:
Zit er toevallig een - in je domein naam....
Er zit wel een _ in. Ik weet niet of dat veel uitmaakt. (het probleem doet zich niet voor op een "echte" internet site maar dit gaat over een intranet)

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 08-05 18:23
Verwijderd schreef op woensdag 13 april 2005 @ 19:25:
[...]
. Ergens las ik ook nog dat die header ingesteld kan worden bij de eigenschappen van de website in de IIS console ook hier heb ik het geprobeerd maar er veranderde niets.

Is het btw te testen of dit goed werkt of moet je dan gewoon zien of er een cookie komt?
Jammer dat het niet werkte... qua testen open ik de site altijd altijd in IE5 (als je ook webesign doet sowieso handig: google op "standalone internet explorer" of mail, ik heb thuis 3, 4, 5.01, 5.5 en 6 naast elkaar draaien).

Van IIS noch ASP heb ik verder kaas gegeten, maar aangezien het wél werkt in FF denk ik dat het om een of andere IE bug gaat. Misschien iets meer code posten of een url waarop het misgaat...

Regeren is vooruitschuiven


Verwijderd

Topicstarter
Bedankt voor de reacties tot zover maar het werkt nog steeds niet.

Ik heb ook de standalone ie 5 gedownload en daar heb ik het zelfde probleem mee.

Ik zal nog wat code posten
In pagina1.asp staat dit:
ASP:
1
2
3
4
Response.cookies("hash")("Code") = hash
response.cookies("hash").expires = date+10
            
response.write request.cookies("hash")("Code")

Op de uitvoer pagina staat nu de inhoud van de variable hash dus dit werkt.
Op pagina1 staat een link naar pagina2 hier staat het volgende
ASP:
1
response.write request.cookies("hash")("Code")

Op deze pagina staat nu helemaal niets.

Bij de eigenschappen van de IIS heb ik een header toegevoegd met de P3P gegevens dit zou moeten werken. Het typische is dat het dus ook niet in IE5 werkt dus dan zou je zeggen dat er niet iets met P3P te maken heeft.

Heeft er misschien iemand nog ideeen over wat hier geval zou kunnen zijn?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 08-05 11:55

mulder

ik spuug op het trottoir

En als je security level in IE omlaag gooit (evt even alle browsers afsluiten), word de cookie dan nog steeds geblockt?

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
De security level heb ik al helemaal naar op laag staan. Ook heb ik in het privacy tabblad aangegeven "Override automatic cookie handling" en dat session cookies toegestaan zijn. Maar dat helpt allemaal niet.

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 08-05 18:23
Nu weet ik weinig van ASP, maar in PHP zet je de expire van een cookie als Unix timestamp. Als dat in ASP ook zo werkt dan levert
ASP:
1
response.cookies("hash").expires = date+10

Een cookie dat 10 seconden werkt.

Een ander puntje zou kunnen zijn dat de tijdzone van de server verschilt van die op de client. Waardoor je effectief een cookie in het verleden zet die dus gelijk wordt gedelete. Probeer eens een cookie zonder expiry date. Die zou moeten leven zolang de browser open is...

Regeren is vooruitschuiven


Verwijderd

Topicstarter
Ook zonder de expire datum is hetzelfde probleem. Ik had die datum er alleen bij gezet om te testen. In ASP is date + 10 wel 10 dagen vooruit dus daar kan het probleem ook niet zijn.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 08-05 11:55

mulder

ik spuug op het trottoir

Check de sessie id's eens, zit je wel in dezelfde sessie?

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Het is opgelost.

Het lag toch aan de _ in de domeinnaam.

Hartelijk dank voor het meedenken aan dit probleem
Pagina: 1