[cookie] De waarde "Deleted"

Pagina: 1
Acties:

  • eborn
  • Registratie: April 2000
  • Laatst online: 20-08 15:45
Ik heb zojuist eens rondgezocht op Got, maar kon over dit onderwerp eigenlijk niets vinden (afgezien van een bug-report voor T.net, waarbij de oorzaak ook niet echt duidelijk was). Vandaar nu mijn vraag.

Gebruikers op een bepaalde site waar ik aan werk komen soms met de 'klacht' dat ze niet kunnen inloggen. Het inlogsysteem stamt nog uit de middeleeuwen en is dus nog gebaseerd op browser authentication (oftewel: WWW-Authenticate). Verder wordt er gebruik gemaakt van cookies om bepaalde dingen op te slaan.

Het probleem is nu dat heel veel van die inlogproblemen veroorzaakt worden door een vreemd verschijnsel. Als ik namelijk de cookies opvraag bij deze gebruikers dan blijken deze allemaal op "Deleted" te staan. Hierdoor is inloggen omgelijk, omdat de site steeds probeert om de gebruiker "Deleted" in te loggen. Wat soms ook gebeurd is dat mensen wel ingelogd zijn, maar dat vervolgens hun gebruikersnaam (die in een cookie staat) alsnog "Deleted" wordt.

Nu gebruik ik de hele term deleted niet in mijn scripts (net als Femme in het bovengenoemde topic al zei ;)) dus moet het een browser 'bug' zijn of in ieder geval een bekend fenomeen. Ik kan er echter amper iets van terugvinden.

Vaak zijn de problemen weer net zo mysterieus verdwenen als dat ze gekomen zijn. Cookies en tijdelijke internet files verhelpt het probleem soms, maar aan de andere kant kan dat ook gewoon schijn zijn. Het gebeurt bij de meest uiteenlopende browsers en browserversies, dus daar is niet echt iets over te zeggen.

Is er iemand bekend met dit fenomeen? Waardoor ontstaat het? En wat is er aan te doen? :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Je geeft altijd een levensduur met een cookie mee (tot 1 jaar), misschien doet de browser dit als de levensduur is verstreken?

Who is John Galt?


Verwijderd

Die waarde deleted is in ieder geval hard-coded in de PHP source.

code:
1
2
3
4
5
6
7
8
9
10
11
if (value && value_len == 0) {
   /* 
    * MSIE doesn't delete a cookie when you set it to a null value
    * so in order to force cookies to be deleted, even on MSIE, we
    * pick an expiry date 1 year and 1 second in the past
    */
   t = time(NULL) - 31536001;
   dt = php_std_date(t);
   sprintf(cookie, "Set-Cookie: %s=deleted; expires=%s", name, dt);
   efree(dt);
}

Zit er dus dik in dat de datum/tijd van de betreffende clients niet goed staat.

  • eborn
  • Registratie: April 2000
  • Laatst online: 20-08 15:45
Verwijderd schreef op 19 June 2003 @ 22:43:
Die waarde deleted is in ieder geval hard-coded in de PHP source.
Zit er dus dik in dat de datum/tijd van de betreffende clients niet goed staat.
Dat zou een simpele verklaring zijn. Punt is dat in dit stukje code een datum gebruikt wordt van een jaar en één seconde terug. Dan zou een computer wel enorm achter moeten lopen wil dit probleem zich voordoen. Of zie ik dat verkeerd?

Verwijderd

eborn schreef op 19 June 2003 @ 22:54:
[...]
Dat zou een simpele verklaring zijn. Punt is dat in dit stukje code een datum gebruikt wordt van een jaar en één seconde terug. Dan zou een computer wel enorm achter moeten lopen wil dit probleem zich voordoen. Of zie ik dat verkeerd?
Nee, dat zie je heel goed. Als een PC dus in het verkeerde jaar leeft, kan de client niet inloggen. Dat is ook op dit forum een vrij bekend probleem bij moeilijkheden bij het inloggen :)

  • eborn
  • Registratie: April 2000
  • Laatst online: 20-08 15:45
Verwijderd schreef op 19 June 2003 @ 22:56:
Nee, dat zie je heel goed. Als een PC dus in het verkeerde jaar leeft, kan de client niet inloggen. Dat is ook op dit forum een vrij bekend probleem bij moeilijkheden bij het inloggen :)
Dan zou ik dat eens moeten verifiëren bij de gebruikers die altijd lopen te klagen dat het niet werkt ;)

Ik zie nu trouwens aan de code dat het niet uitmaakt welke datum je tijdens het wissen van een cookie meegeeft. Ik deed altijd nog de moeite om zelf een tijd in het verleden mee te geven, maar daar maakt hij dus helemaal geen gebruik van zoals ik het nu zie :)

  • eborn
  • Registratie: April 2000
  • Laatst online: 20-08 15:45
Nou, ik heb nu al twee gevallen gehad waarbij dit probleem speelde en bij beide gebruikers stond de klok inderdaad verkeerd. Blijkbaar leven nog heel veel mensen in het verleden :) Probleem opgelost dus.

Verwijderd

Kan me vergissen. Maar geeft de nieuwe versie van zonealarm geen "deleted" waarde aan een gefaalde cookie?
Pagina: 1