31. juli 2000 - 15:04Der er
17 kommentarer og 2 løsninger
Vis cookiens expiredato vhj javascript?
Jeg har fudnet en bookmarklet på adressen http://book.trc.dk/ der kan vise indholdet af cookien for den side jeg står på.
Det sker ved at fyre denne linje af i url-vinduet: java script:if(document.cookie.length<1){alert(\'Ingen cookie på dette websted.\')}else{alert(\'Cookie for dette websted: \'+document.cookie)}
I forbindelse med lidt debugging er jeg interesseret i at se cookiens expire dato. Er der mon en nem måde at tilpasse ovenstående til at vise expiredato i stedet for indhold?
Jeg kører med Netscape, ved ikke om der er syntax-forskel med IE
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
java script:if(document.cookie.length<1){alert(\'Ingen cookie på dette websted.\')}else if(document.cookie.indexOF(\'expires=\') != -1){alert(\'Cookie udløbsdato for dette websted: \'+document.cookie.slice(document.cookie.indexOf(expires=) + 8, 29))}
Hvis udløbsdatoen er før den 10nde i en måned giver scriptet en fejl og det sidste tal, 29, skal ændres til 28
<ole> Måske fordi syntaksen lugter lidt af gnu (...gnæk, gnæk!) ;o)) JavaScript var oprindelig case-sensitive i høj grad, hvilket vist er taget lidt af med årene (og måske i takt med at programmørene ikke synes at hænge sig i den slags \'detaljer\'...?). Det hedder dog stadig \'indexOf(\'....\')\' hver - og ikke kun hver anden gang! ;o) /Vh </bole>
Man skal selvfølgelig hænge sig meget i case sensitivitet(dejlig fordanskning :-) men mit keyboard\'s shift tast klistrer sig fast (li\'som tøserne fredag aften he he he) og det gør det ekstra sjovt at kompile div. java progs. med fejl som STring, IMAge o.l.
java script:if(document.cookie.length<1){alert(\'Ingen cookie på dette websted.\')}else if(document.cookie.indexOf(\'expires=\') != -1){alert(\'Cookie udløbsdato for dette websted: \'+document.cookie.slice(document.cookie.indexOf(\'expires=\') + 8, 29))}
Et nyt keyboard kan vel klare det ene problem. En effektiv body-shampoo kan muuuhligvis klare det andet med tøserne fredag aften! Undskyld...men det var en lidt høj serv - så jeg ku\' ikke nære mig ;o)) /Med venlig muuuh.
Jeg er ingen cookie ekspert, men efter min bedste overbevisning er måden man skriver en udløbsdato at skrive \"expires=<GMT tid>\" og derfor må måden man henter udløbsdatoen være ovenstående.
Hvis jeg skal være ærlig, så tror jeg ikke man MÅ få adgang til expire-tidspunktet! Mon ikke det af sikkerheds mæssige årsager er \'lukket land\'? Det er der jo en del, der er i de sprog, vi arbejder i - og tak Gud og W3 consortiet for det! ;o)
Jeg havde ikke tænkt på det med sikkerheden, men OK - hvis det ikke kan lade sig gøre at vise expire-tidpunktet, så ryger pointene til den, der kan få skruet en bookmarklet sammen, der kan bruges til at expire en cookie på den aktuelle side.
Eller er det mon også noget jeg har misforstået? Jeg ved man kan tilføje sine egne kommentarer til en sites cookie:
En cookie er en kodestump, en side sætter i din browser og den kodestump kan de ændre på. Du kan vel aflæse kagen og sætte en med det samme navn, der udløber efter 1 sekund...?!? /Vh
HTTP-protokollen definerer jo hvordan man snakker om cookies mellem server og klient (browser). Når serveren sætter en cookie, kan den give udløbsdato med. Men når den modtager en cookie følger udløbsdatoen ikke med. Der er simpelthen ingen syntaks for det i HTTP.
\"Vel er jeg ikke Cæsar, og dette ikke Rubicon, men dog siger jeg: Jacta es alea\", som Chr. IV siger i Elverhøj, da han skal krydse Tryggevælde Å.
Og vel er en cookie i JavaScript ikke det samme som en cookie i HTTP, men dog alligevel. Man har valgt at resultatet af at forespørge på en cookie skal give samme resultat, som hvis man læste den i HTTP-protokollen. Derfor er udløbsdato ikke med, og kan ganske enkelt ikke fås vha. document.cookie.
Men lige nu har jeg ikke nogen svar at give pointene til - gider I oprette et svar hver? Eller endnu bedre: Hvis der er en der kan skrive en JS-stump, der kan expire cookien på en bestemt side, så falder der lidt krummer af der også...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.