Avatar billede dadane Novice
02. marts 2001 - 18:57 Der er 4 kommentarer og
2 løsninger

Sikkerhed og SQL

Hvis man sikre sig imod at folke kan skrive \' i de forms man bruger i sine sql sætninger er man så sikker - eller er der mange flere sjove ting?

I sætninger med en SQL sætning a la:

strSQL = \"SELECT * FROM MinTabel WHERE x=\'<%=request.form(\"x\")%>\'\"
Avatar billede delphidaner Nybegynder
02. marts 2001 - 19:09 #1
Skrive sådan her i stedet:

strSQL = \"SELECT * FROM MinTabel WHERE x=\'<%=Server.HTMLEncode(Request.Form(\"x\"))%>\'\"
Avatar billede netsrac Praktikant
02. marts 2001 - 19:18 #2
delphidaner, hvis der så er en post i databasen med et \' tegn finder den jo ikke posten:

strSQL = \"SELECT * FROM MinTabel WHERE x=\'<%=replace(request.form(\"x\"), \"\'\", \"\'\'\")%>\'\"
Avatar billede netsrac Praktikant
02. marts 2001 - 19:19 #3
Det kan også give problemer hvis man bruger SQL reserverede ord i felterne såsom:

ORDER
BY
WHERE
osv.
Avatar billede lrj Nybegynder
04. marts 2001 - 23:30 #4
Nope, ikke når der er \'-er omkring strengen. Så er det jo ikke SQL som udføres af databasen, men den passive streng som der søges efter..
Avatar billede slash Nybegynder
05. marts 2001 - 15:37 #5
nogle steder kan du oxo være heldig at få lov til at anvende % - altså wildcard. Engang kunne man søge med wildcard på dating.dk - fejlen er vist rettet nu - *hydr*

Har deslige oplevet at en klytter havde lavet en loginting engang, hvor man i username og password feltet på websiden bare kunne skrive like \'%%\' og så var man inde...

Test for wildcard operatorer --> du kan anvende replace() funktionen som oxo er vist anvendt her!
Avatar billede slash Nybegynder
29. marts 2001 - 13:55 #6
kan du ikke finde ud af det... eller skal du have mere hjælp?
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
Computerworld tilbyder specialiserede kurser i database-management

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