[php] Immortal Cookies

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Ik heb een probleem met mijn cookies, ik heb mijn eerste probleem opgelost, namelijk het krijgen van de cookies op elk subdomein van het domein.

Dit heb ik opgelost dmv de volgende code:

code:
1
session_set_cookie_params(99999, "/", ".domein.nl");


So far so good, maar nu.. wil ik nadat ik nadat ik uitgelogd ben, mijn sessie en bijbehorende cookies weer verwijderen.

Dit doe ik op de volgende manier:

(http://domein.nl/account/uitloggen, welke naar verwijderen cookies redirect naar http://domein.nl)
code:
1
2
3
setcookie("uid", "", time() - 3600); setcookie("hash", "",time() - 3600);
unset($_SESSION['uid']);
session_destroy();


Een var_dump van de cookies geeft ook aan dat er geen cookies gevonden zijn.

Prima, werkt helemaal. Op welke pagina ik ook kom, ik ben uitgelogd. Tenzij.. ik ga inloggen met bijvoorbeeld een ander account. (http://domein.nl/account/inloggen). Dan werken de cookies ineens weer, en wordt ik weer ingelogd met het account waarmee ik daarvoor ben ingelogd.

Als ik voordat ik opnieuw inlog, eerst via de browser de cookies verwijder, wordt ik wel met het juiste account ingelogd.

Hoe kan ik alle cookies van mijn domein verwijderen?

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

session_set_cookie_params geldt alleen voor de sessie-cookie, voor je overige cookies moet je zelf ook nog path en domain opgeven in je set_cookie call (ook bij het verwijderen).

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 15:23
Dat was hem, weer wat geleerd, dacht dat die functie van mij het voor elke cookie deed.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ZpAz schreef op woensdag 17 december 2008 @ 00:22:
[...]
Tenzij.. ik ga inloggen met bijvoorbeeld een ander account. (http://domein.nl/account/inloggen). Dan werken de cookies ineens weer, en wordt ik weer ingelogd met het account waarmee ik daarvoor ben ingelogd.
Het lijkt me dat je dan toch ook een security-probleem hebt doordat je 'uid' cookie blijkbaar leading is. Waarom wil je dat opslaan in een clientside cookie (je slaat het toch ook al op in de sessie)? En waar is de 'hash' cookie voor?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • link0007
  • Registratie: Augustus 2006
  • Niet online
crisp schreef op woensdag 17 december 2008 @ 10:03:
[...]

Het lijkt me dat je dan toch ook een security-probleem hebt doordat je 'uid' cookie blijkbaar leading is. Waarom wil je dat opslaan in een clientside cookie (je slaat het toch ook al op in de sessie)? En waar is de 'hash' cookie voor?
ik gok dat de hash-cookie een hash van gebruikersnaam/wachtwoord/salt bevat, zoals je wel vaker ziet ?
Lijkt me niet eens zo heel vreemd om te doen, gezien je de uid dan wel als lead hebt, maar hij niet werkt tot je de hash ook goed hebt.

IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF;