Avatar billede jan2001 Nybegynder
20. marts 2008 - 19:28 Der er 19 kommentarer

tre spm vedr. cookies

Har en side hvor der oprettes en cookie hvis den ikke allerede eksisterer, når brugeren har besøgt en bestemt side. Eksistere cookien forhindres brugeren i at komme ind på en side igen i op til 30 dage.

1. problem:
Men hvad nu hvis brugeren har slået cookies fra, så kan der jo ikke kigges om der ligger en cookie eller ej på brugerens harddisk. Hvordan tjekker man for det?

2. problem:
Brugeren kan slette sin cookie og dermed påny få adgnag til siden før der er gået 30 dage. Hvordan løses det, hvis det kan?

3. spørgsmål:
Jeg vil gerne fortælle brugeren hvor lang tid der går inden han/hun kan komme ind på siden igen. Hvordan regner jeg ud hvor mange dage og timer der er tilbage af cookiens levetid?
Avatar billede erikjacobsen Ekspert
20. marts 2008 - 19:44 #1
1 og 2 - du kan ikke forhindre brugeren i at nægte eller slette cookies.
3 - du kan skrive en dato og tid i cookien, og regne ud fra det.

Har du et login-system for din bruger, eller er det bare tilfældige besøgende?
Avatar billede jan2001 Nybegynder
20. marts 2008 - 20:17 #2
Det er tilfældige besøgende.

Hvordan regnes så den resterende levetid ud?
Avatar billede jhe-ting Nybegynder
20. marts 2008 - 21:14 #3
Må forskellige brugere på samme maskine se siden?
Så er et login system nødvendigt ...
Ellers kan du evt. spærre for adgang på grundlag af IP adressen. ;)

Metoden er ikke sikker, da visse forbindelsestyper har vekslende IP-adersser, og andre har flere maskiner en delt adresse (NAT).

Sikkerhed kan kun opnås med krypteret login.
Avatar billede erikjacobsen Ekspert
20. marts 2008 - 21:56 #4
Når det kun er tilfældige besøgende, så er det vil heller ikke så vigtigt at metoden er sikker - hvis de fleste har cookies slået til, og de færreste fjerner dem igen, så er det vel ok.

Og hvordan du beregner den resterende tid afhænger af hvad du skriver i cookien, og hvad du derefter i dit programmeringssprog kan regne ud. Kan du regne på "2008-03-20 21:55:13", så bruge du den. Eller måske en unixtimestamp.

Supersikkert er der ikke noget af det her der bliver!
Avatar billede jan2001 Nybegynder
20. marts 2008 - 22:39 #5
Nej ip dur nok ikke. Der kan jo være flere bag en ip såsom skoler og biblioteker mm. Men bortset fra på biblioteket, så skal alle logge ind på deres computer, så der kan godt bruges cookies. Men hvad med fx. biblioteker med åbne pc'er. Det er jo ikke så brugervenligt at skrive, at siden ikke kan bruges, hvis man bruger en offentlig pc. Er brugerlogin så virkelig den enste rigtige løsning?
Avatar billede erikjacobsen Ekspert
20. marts 2008 - 22:59 #6
jeg kan ikke helt forestille mig hvad din ønskede blokering skal bruges til, og hvor vigtigt det er at den ikke kan omgås. Men rent teknisk er der ingen god løsning - et brugerlogin er vel også en prut i en hornlygte, for dem kan man jo oprette så mange af man vil...

Hvad med kun at vise den hemmelige side, når det er den 20. i måneden? - det kan styres af serveren.
Avatar billede jan2001 Nybegynder
21. marts 2008 - 01:27 #7
Det er en side med en afstemning eller poll.
Avatar billede erikjacobsen Ekspert
21. marts 2008 - 10:56 #8
Så må du bare acceptere at man kan snyde, hvis man vil. Man kan ikke med http og www identificere at det er een person, der sidder bag skærmen - bortset fra selvfølgelig ved at bruge den offentlige digitale signatur.
Avatar billede jan2001 Nybegynder
21. marts 2008 - 11:59 #9
Så når man bruger polls fra fx. htmlgear.lycos.com så kan man ikke regne med at resultaterne i afstemningerne stemmer?
Avatar billede erikjacobsen Ekspert
21. marts 2008 - 12:07 #10
Selvfølgelig ikke - det siger vel sig selv. Der er som sagt ingen identifikation af personer på Internettet, derfor vil en poll aldrig passe.

Nogle blokerer selvfølgelig ved at lægge en cookie, men prøv selv på en poll fra fx en af de online aviser, hvor nemt det er at snyde. Så kan der være dem, der efterfølgende kigger loggen igennem for at finde tegn på snyd, fx. mange stemmer fra samme ip indenfor en kort periode, og fjerner dem. Men de kan li'så nemt fjerne for mange og for få.

Der plejer nu også at stå noget med at resultatet er vejledende, og ikke kan tages som udtryk for bla bla bla...

Velkommen til anarkiets Internet ;)
Avatar billede jan2001 Nybegynder
21. marts 2008 - 12:36 #11
jeg var lige inde på ekstrabladets website og bruge deres afstemning. Den lægger ingen cookie på min HD, men alligevel kan jeg ikke stemme mere end en gang. Jeg går så ud fra de bruger mit IP.
Men hvordan kan det være at man på en offentlig pc, som på biblioteket kan tage den samme afstemning igen og igen. Hvorfor logges Ip ikke her.
Har du et bud?
Avatar billede jan2001 Nybegynder
21. marts 2008 - 12:46 #12
Nå, jeg må vist tage det med Ip i mig igen. Jeg prøvede lige med firefox. Her kan jeg igen stemme. Det ser alligevel ud til de bruger cookies. Øv. det er jo ikke så godt. Så kan man jo bare sidde og spamme en afstemning.
Men det vil jo stadig give problemer på en offentlig pc. Når først een besøgende har stemt kan de efterfølgende ikke stemme, da cookien ligger på HD'en.
Avatar billede erikjacobsen Ekspert
21. marts 2008 - 12:49 #13
Ja, de bruger cookies, og det er så nemt at stemme flere gange på deres "Tror du, indvandrerbanderne overtager Hells Angels og Bandidos’ position i den kriminelle underverden?" 

Jo, men, der er vel heller ingen der siger, at der findes en løsning til offentlige PC-ere. Det er rent anarki.
Avatar billede jan2001 Nybegynder
21. marts 2008 - 13:31 #14
Ja, så er der vel ikke så meget andet at gøre end at gøre den besøgende klar over, at resultatet på afstemningen ikke er til at regne med, og håbe på de fleste ikke misbruger den. Manuelt kan man så holde øje med om der pludseligt kommer usædvanligt mange afstemninger.
Den bøvlede metode er så at logge Ip og begrænse en IP til en afstemning indenfor en bestemt periode. Fx. en pr. 5 minut. Det kan begrænse misbrug fra offentlige pc'ere lidt.
Avatar billede erikjacobsen Ekspert
21. marts 2008 - 13:35 #15
Der er ikke meget andet at gøre, nej. Men en virksomhed kan have tusindvis af PC-ere bag samme IP-nummer - du kan sagtens afvise "lovlige" stemmer, hvis du laver et eller andet med IP-nummer.
Avatar billede jan2001 Nybegynder
21. marts 2008 - 14:10 #16
Jeg tror løsningen bliver, at jeg bruger cookies og logger IP med dato, og så kigger IP igennem af og til.

Jeg fandt dog aldrig ud af hvordan jeg trækker en dato fra en anden. Man kan jo ikke bare sige 11-04-2008 minus 21-03-2008. Det bliver noget rod ved månedsskiftene. Kan man ikke få tiden i sekunder og så dele dem op med 60 og 24 for at få dage, timer og minutter?
Avatar billede roenving Novice
21. marts 2008 - 14:36 #17
Jo, alle normale web-kodningssprog har metoder til at behandle tidsobjekter !-)
Avatar billede jan2001 Nybegynder
21. marts 2008 - 14:49 #18
Jeg fandt lige ud af at der er noget der hedder datediff i asp. Meget nemt.
erikjacobsen: vil godt give point.
Avatar billede erikjacobsen Ekspert
21. marts 2008 - 15:47 #19
Jeg samler slet ikke på point, tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester