Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
> On 04 Apr 2009 13:01:22 GMT, Jens R. rasmussen
> <Jens.R.Rasmussen@uni-c.dk> wrote:
>
> >Jeg bruger en accessdatabase, hvor jeg har lagt brugerne id og
> >password ind. De er lagt ind med både store og små bogstaver.
> >
> >Når en bruger så logger sig på fx JENS01, så holder jeg det
> >indtastede op mod accessdatabasen.
> >
> >Til min overraskelse godkendes såvel JENS01, som jenS01, når jeg
> >spørger på om det indtastede er lig indholdet i databasen.
> >
> >Kan jeg på nogen måde ændret det, så kun korrekte upper- og
> >lovercase tegn accepteres?
>
> Det må være en indstilling i din database. Spørg i dk.edb.database.
Tak for rådet. Jeg fandt nogle lignende spørgsmål/svar, som ledte mig hen
til funktionen string compare i VBscripting. Og en match kræver at
StrComp(streng1, streng2, vbBinaryCompare) = 0
Der laves altså en binær sammenligning, og der a <>A
> Men der er et andet problem - og hvis du løser det, så får du også løst
> ovenstående problem.
>
> Problemet er, at du gemmer passwords i klar tekst i databasen. Det bør
> man absolut ikke gøre - heller ikke selv om det ikke er Nationalbanken,
> du vil beskytte.
>
> Problemet er, at folk ofte bruger samme password til såvel ubetydelige
> ting som ting, hvor det faktisk gør en forskel.
>
> Lad os sige, at en af dine brugere får misbrugt sit password til noget
> helt andet - men at det tilfældigvis er samme pw, som vedkommende bruger
> i dit system. Så kan *du* faktisk være (uforskyldt) under mistanke.
>
> Hvis du derimod "hasher" passwordet og gemmer den hashede værdi i
> databasen, så er du (stort set) uden for mistanke, da det kræver ret
> meget at bryde en hash-værdi.
>
> Hashing er en-vejs-kryptering - man kan altså ikke (særligt let og med
> sikkerhed) komme tilbage til den oprindelige værdi ud fra hash-værdien.
>
> Så det du gør er, at du gemmer hash-værdien i databasen - og
> sammenligner denne med den hashede værdi af indtastningen, når brugeren
> logger sig ind.
>
> Det har så samtidig den fordel, at hashing af "JENS01" og "jenS01" giver
> to vidt forskellige hash-værdier
>
> De mest almindeligt anvendte hash-funktioner er MD5 og den noget
> stærkere SHA1.
> Se fx:
> <url:
http://www.asp-faq.dk/article/?id=52>
> - hvor du også kan hente ASP-kode til de to hash-funktioner.
>
> Der er mere på Wikipedia om hashing, MD5 og SHA1.
>
> Det kan godt være det lyder svært med hashing, men det er det
> overhovedet ikke: Download filen og lav en include til den, hvor du har
> brug for den, og brug funktionen som fx:
> strPwMd5 = MD5(strPw)
Tak igen. Jeg har fundet det, og kan let include den i min kode. Hashing
bliver det næste jeg gør - selvom jeg sådan set har løst mit konkrete
problem med vbBinaryCompare - men jeg erkender fuldt ud dit råd om hashede
databaser.
>
> Good luck!
>
> --
> Jørn Andersen,
> Brønshøj
mvh
Jens R. Rasmussen, Værløse
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials