23. juli 2004 - 17:15Der er
10 kommentarer og 1 løsning
Sikkerhed på søgefunktion
Jeg har lavet en søgefunktion, som griber søgeordet fra en formular, og søger efter ordet i en database. Er nedenstående det eneste sikkerhedshul, som bør sikres, eller findes der flere tricks i den sammenhæng?
Dim ord ord = Trim(Replace(Request.QueryString("soegeord"),"'","''"))
det bør du bestemt. Du bøør lave indput validering, så man kun kan søge inden for ganske bestemte grændser. F.eks. kun på ord af en vis max længde, kun et ord af gangen, dvs ingen mellemrum. f.eks. ikke på tal og specialtegn, især bør du ikke tillade ' da dette kan bruges til at indsætte kode.
neander>det kan jeg ikke svare dig på, jeg er ikke programmeringshaj, jeg kender principperne og ved hvordan man injecte og ved hvad der skal valideres for, ikke hvordan. Derfor en kommentar og ikke et svar
apostrofferne definerer start og slut på din streng. Det betyder, at alle tegn mellem disse vil blive fortolket som en streng og ikke andet. Det uanset længe på ord og specielle tegn etc.
De eneste specieltegn er apostroffer i input, som du tager højde for.
Så hvis input kun kommer i form af strenge, har du sikret dig..
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.