Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Browseren beholder flere værdier for det samme unikke cookie name-value par

Side 1 ud af 1 (1 indlæg)
  • 1
Fra Odense
Tilmeldt 19. Sep 14
Indlæg ialt: 3
Skrevet kl. 13:35
Hvor mange stjerner giver du? :

Vi har en webshop. Vi bruger en cookie som indeholder en ordre ID for hver ordre / bruger. Alle varer i kurven og alle kundeoplysninger er relateret till denne ID. Denne cookie skal kun ændres når ordren er gennemført eller værdien er tomt. Vi tjekker cookien ved serveren med hver page load og det bliver ændret kun i overstående omstandigheder.

Nogle måneder siden vi har oplevet at under nogle omstændigheder, browseren kan beholde flere versioner af det samme cookie værdi, og 'skifte' mellem disse værdier tilfældig ved page load. Værdien bliver ikke overskrevet - hvis browseren skifter fra værdi A till værdi B, det kan skifte tilbage til A efter nogle refreshes / navigationer til andre sider. Browseren kan beholde op til 5 (måske flere) værdier for en enkelt unikke cookie, og det skifter dem tilfældigt når brugeren navigerer rundt i vores webshop. Det er meget problematisk, fordi lige så snart som cookie værdien bliver skiftet - indholdet af kurven skifter også. Vi har oplevet problemet med Internet Explorer 11 og Google Chrome 53. Hvis vi prøver at tjekke cookie værdien i browser konsolen , det viser kun værdien som bliver brugt i den nuværende sidevisning.

Vi bruger følgende funktion i javascript til at sætte vores cookie:

function SetCookie(c_name, value, exdays){
  var expires = "";
  if(exdays)
  {
    var date = new Date();
    date.setTime(date.getTime() + (exdays*24*60*60*1000));
    expires = "; expires=" + date.toUTCString();
  }
  document.cookie = c_name + "=" + escape(value) + expires + "; path=/";
}


Uanset hvor jeg læser om cookies - de siger at hvis man overskriver cookie værdien på det samme domæne og sti, så skal det gamle værdi blive ødelagt. Så har jeg prøvet følgende hver gang jeg sætter vores ordre ID cookie værdi (slet værdien før vi sætter det):


SetCookie(name , "", -1); 
SetCookie(name , val, 14);


Desværre, det løser ikke vores problem, og browseren stadigvæk skifter cookie verdien tilfældig ved page load. Hvad kunne være årsagen til sådan adfærd? Er der nogen måde at tjekke hvilke (skygge) værdier af en cookie browseren har gemt men bruger ikke i nuværende side visning? Er der nogen måde at tjekke hvor mange værdier for en bestemt cookie navn og sti browseren har gemt?

Side 1 ud af 1 (1 indlæg)