21. august 2001 - 23:08Der er
13 kommentarer og 2 løsninger
Dø forbanede Cookies!!!
Hello...
Er det ikke muligt at slette de fordømte Cookies igen efter man har oprettet dem på klienten???
Jeg har en login funktion hvor man kan vælge at logge ind automatisk ved hjælp af cookies. Derfor skal man sedfølgeligt også have nulighed for at slette dem igen via en form på HP\'en (right!)...
Så inden jeg begår selvmord over det lort, er der PLEEEEEEEASE nogen der gider hjælpe mig? Jeg har spurt 1000 mennesker men der er ingen der har nogen hjærner :)
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
du kan ikke decideret slette cookien - men du skal ind og ændre dens værdier - det gør du på akkurat samme måde som hvis du skulle opertte en ny cookie
fx hvis du har lavet en cookie med:
Response.Cookies(\"autologin\") = yes
skal du nu ændre den på samme måde som den blev lavet til eks.
Ok... Så hvis jeg har en cookie der ser sådan ud: ------------------------------------------------------ Response.Cookies(\"VSmS\")(\"ID\") = Session(\"Bruger_ID\") Response.Cookies(\"VSmS\")(\"Navn\") = Session(\"Navn\") Response.Cookies(\"VSmS\")(\"Pass\") = Request(\"Password\") ------------------------------------------------------ Så kan jeg \"slette\" den igen ved at skrive: ------------------------------------------------------ Response.Cookies(\"VSmS\")(\"ID\") = \"0\" Response.Cookies(\"VSmS\")(\"Navn\") = \"0\" Response.Cookies(\"VSmS\")(\"Pass\") = \"0\" ------------------------------------------------------ Er det rigtigt?
keysersoze >> man kan også vende det om; hvorfor skal man smide unødigt om sig med cookies på brugerens harddisk ? For ikke at nævne at en cookie der indeholder totalt unødvendig information, alligevel vil blive sendt med alle requests fra klienten til serveren = unødig belastning af både klient og server.
I det øjeblik de vælger at ville have autologin igen, opretter man selvfølgelig cookien på ny.
keysersoze >> jeg tror ikke du har forstået spørgsmålet rigtigt, eller også har jeg ikke :-)
klyde tilbyder sine brugere at de kan vælge at lade sig logge ind automatisk, præcist som her på eksperten. Vælger man dette, oprettes en cookie med de nødvendige informationer. Startsiden på sitet, typisk default.asp vil så kigge efter om der er en cookie, kontrollere brugernavn og password og derefter sende brugeren ind på sitet.
Er der derimod ingen cookie, er autlogin ikke valgt og man beder derfor om brugernavn og password.
Dette er almindelig, anstændig anvendelse af cookies. Der er som jeg sagde tidligere, absolut ingen grund til at have en \"tom\" cookie liggende på brugerens harddisk, og slet ingen grund til at belaste alle requests med unødvendige data.
tmceu >> men HAR man allerede valgt at logge ind automatisk så ligger der jo en cookie og her må der ikke være en expire dato- vil man så ændre dette så man ikke logger ind automatisk, så skal effekten jo træde i kraft med det samme, og at sætte expire til en dag frem træder det først i kraft senere og det er jo ikke smart
så enten skal expire sættes til \"NOW()\" (ved ikke om det vil virke egentlig) - eller man skal finde på at sammensmelte vores to forslag som tidligere skrevet
keysersoze >> Kig lige på mit første svar, hvor jeg skriver:
Du kan slette en cookie ved at sætte udløbsdato BAGUD i tiden, eks. Response.Cookies(strCookieName).Expires = Date() - 1
eller som tomsommer, der skrev den korrekt til klyde\'s eksempel: Response.Cookies(\"VSmS\").Expires = Date() - 1
Dette sætter den én dag bagud i tiden; date MINUS 1 og derfor er cookien straks udløbet.
Sådan er det, det virker. Om dine gentagne forsøg på at få nogle point ved at kombinere svarene lykkedes, er op til spørgeren. Jeg har vist givet nok udtryk for min mening :-)
keysersoze >>> Jeg må desvære give tmceu ret. Dit forslag kan bruges, men tmceu\'s forslag er lige det jeg manglede.
For at afslutte dette så har jeg en kode der siger at når man vælger at logge ind automatisk skal cookien \"leve\" i 365 dage: Response.Cookies(\"VSmS\").Expires = Date+365
Når jeg så sætter datoen en dag tilbage: Response.Cookies(\"VSmS\").Expires = Date-1 vil computeren tro at cookien er for gammel og dermed slette den.
Mange tak for jeres hjælp...
keysersoze = 10 point for ihærdighed. tmceu = 50 for bedste svar.
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.