[php] cookie probleem tussen MSIE en Netscape

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
allereerst om het probleem te ilustreren heb ik een test pagina gemaakt: http://www.archipics.sturb.nl/test.php

het probleem is als volgt. Ik wil een login sectie bouwen en hier ook een kleur aan hangen. Basically komt het probleem hierop neer... in MSIE slaat hij mijn cookie variabele niet op, terwijl in netscape hijdit wel doet.

de test pagina ziet er zo uit:
code:
1
2
3
4
5
6
7
8
<?
setcookie ("TestCookie", 'test' ,time()+3600);
?>
<html>
<body>
cookie var: <?=$TestCookie?>
</body>
</html>

rechtstreeks uit de php.net manual :)

vergeet ik soms iets waar msie zich aan ergert? als ik namelijk mijn privacy nivo in de internet opties omlaag schroef naar "accept all cookies" doet hij het wel.
Moet ik soms ergens aangeven dat het geen third party cookie is ofsow?? en zoja hoe doe ik dat of ben ik echt gewoon dom bezig?

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

Verwijderd

't kan natuurlijk zo zijn dat je zelf in de browser aangeeft dat Cookies verboden zijn. Zou ook gek zijn als een gebruiker daar niet voor zou kunnen kiezen. Het probleem zit hem dus in de security instellingen van je browser.

Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
maar als dat zo is, waarom kan ik dan wel bijvoorbeeld hier bij GOT wel inloggen??

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

  • Scott
  • Registratie: December 2004
  • Laatst online: 20-09 21:57

Scott

Ik ben, dus ik tweak

hobbeldebobbel schreef op zondag 16 januari 2005 @ 20:59:
maar als dat zo is, waarom kan ik dan wel bijvoorbeeld hier bij GOT wel inloggen??
Als jij standaard alle cookies blokkeert, behalve die op een zgn. 'white list' staan, dan kan het zijn dat de pagina waar je dat op hebt staan niet op die lijst hebt staan en ze dus geblokeerd worden.

Acties:
  • 0 Henk 'm!

Verwijderd

Waarschijnlijk wordt je ReactID meegegeven via de URL...
Post hem maar niet, want daar zijn in het verleden nogal wat problemen mee geweest ;)

Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
hoe zou ik dan dit kunnen oplossen ipv cookies.... want mensen meoten natuurlijk wel kunnen inloggen.....
maar zeker nog veel belangrijker is het veranderen van bijvoorbeeld de kleur van de layout.... die sla ik nu voor niet ingelogde mensen op in een cookie var; kan dat ook anders?

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

Verwijderd

Voor inloggen gebruik je een sessionmanager. Zoek een op session_start()

Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
blaat

[ Voor 139% gewijzigd door hobbeldebobbel op 16-01-2005 21:33 ]

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Is het niet gewoon het feit dat je geen path meegeeft aan set_cookie? Gewoon '/' meegeven.

Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
Kuhlie schreef op zondag 16 januari 2005 @ 21:29:
Is het niet gewoon het feit dat je geen path meegeeft aan set_cookie? Gewoon '/' meegeven.
nee dat heb ik al geprobeerd

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
grappig is alweer dat als ik in MSIE een refresh doe dat de sessie afgesloten en dus opnieuw opgestart wordt.
terwijl dit in mozilla niet het geval is... .. blijft een raar iets

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
MSIE heeft beveiligingen daarvoor. Je moet cookies een domein meegeven, anders vreet ie het niet.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
dit heb ik geprobeerd met de cookies:
setcookie ("TestCookie2", 'test' ,time()+3600, 'www.stack.nl/~ries/archipics');
setcookie ("TestCookie2", 'test' ,time()+3600, 'archipics.sturb.nl');
setcookie ("TestCookie2", 'test' ,time()+3600, 'www.sturb.nl');
setcookie ("TestCookie2", 'test' ,time()+3600, 'www.stack.nl');
setcookie ("TestCookie2", 'test' ,time()+3600, stack.nl');
setcookie ("TestCookie2", 'test' ,time()+3600, 'sturb.nl');

alle doen het niet in MSIE.... heb hem nu wel aan de praat met sessie... maar vind het toch niet echt heel erg goed werken.....

[ Voor 29% gewijzigd door hobbeldebobbel op 16-01-2005 22:09 ]

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

In je voorbeeld is de host sturb.nl, maar optioneel kan je het cookie ook alleen op je subdomain zetten. In ieder geval is het path ook van belang:
PHP:
1
setcookie('TestCookie', 'test', time()+3600, '/', 'archipics.sturb.nl');

Note dat de eerst keer de echo van je $TestCookie niets zal weergeven (sowieso nooit als je netjes register_globals op off hebt staan want dan moet je $_COOKIE gebruiken) - pas na een refresh is de cookievar op je pagina bekent, tenzij je 'm daarvoor ook toewijst aan de variabele.

Over P3P valt ook genoeg te vinden als dat noodzakelijk is voor je setup wb domains.

[ Voor 10% gewijzigd door crisp op 16-01-2005 23:02 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • linksnl
  • Registratie: Februari 2002
  • Niet online
Dat MSIE je cookies op de testpagina als 'third party cookie' ziet komt omdat je frames gebruikt.
En ook omdat de frame op een compleet ander domein staat als de pagina die de frame inlaad, zal dit voor IE met de standaard instellingen dus nooit werken.

In Mozilla/Netscape werkt het wel, omdat deze browser standaard niet zo'n restricted cookie beleid heeft.

Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
IE en cookies gaat meestal mis dankzij P3P (de enige standaard die MS eerder heeft geïmplementeerd dan de concurrentie zo'n beetje). Googlen levert het hoe en waarom, het sturen van de volgende header lost je probleem allicht op:
PHP:
1
header ('p3p: CP="ALL DSP COR TAIa HISa OTPa OUR PUBi NOR IND UNI COM CNT OTC"');


edit:
Die header moet je dus sturen voordat je het cookie zet.

[ Voor 25% gewijzigd door T-MOB op 17-01-2005 01:22 ]

Regeren is vooruitschuiven

Pagina: 1