strSQL = "Update personer Set Fornavn = " & KontaktFornavn & " Where Id = " & KontaktID & "
__ kode slut__
Modtager følgende fejl:
__ fejl __
Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0409) Strengkonstanten er uafsluttet /one/asptut/redigeret.asp, line 33, column 91 strSQL = "Update personer Set Fornavn = " & KontaktFornavn & " Where Id = " & KontaktID & "
Tak for assistancen :) Mht. sql-injection, er jeg meget glad for at du henleder min opmærksomhed på det. Som nybegynder er man sjældent særlig bevidst om eller vidende om sikkerhedsproblematikkerne. Så det skal jeg vist lige have læst op på. Men jeg forstår ikke helt, hvordan det kan undgås, da enhver sql sætning vel potentielt kan udnyttes?
Nej, det er når du ukritisk tager input fra brugeren, fx.: Request.Querystring("Id") og bruger det uden at tjekke for om det i dette tilfælde faktisk er et tal, og intet andet. Dermed kan en hacker lave om i din sql-sætning, og læse, ændre, slette i din database. Læs mere om det, inden du lægger det på nettet.
Udfra det jeg har læst indtil videre, kan jeg ikke just gennemskue, hvordan man så undgår den form for hacking .. ikke helt i hvertfald, bortset fra at kombinere brugerinput med beskyttet input, fra fx statiske variabler. Men som sagt er jeg slet ikke klar på hvordan man beskytter sig. Så jeg opretter nok et indlæg omkring forholdsregler og forsvar. Håber du evt. vil smide et svar eller to - du virker til at have styr på det.
Jeg samler slet ikke på point, tak. I det konkrete tilfælde skal du teste at strengen du får fra Request.Querystring("Id") er et tal. Men der er vel ingen, der påstår at det skulle være nemt, så vær forberedt på at der lang vej fra at smide lidt kode sammen, der "virker", til en rigtig og sikker web-applikation.
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.