Avatar billede webnoob Nybegynder
30. maj 2006 - 22:49 Der er 6 kommentarer

undgå injections?

Jeg har siddet og læst lidt på hvordan man kan undgår injections i en login situation.

Der bliver bl.a. nævnt at man kan bruge Stored Procedures, men ikke så meget om hvordan. Hvis det er rigtigt at det er en mulighed og en fornuftig mulighed, kan man så få en lille hånd til at få det til at virke.

Jeg koder i ASP og har en MS sql server installeret på serveren.
Avatar billede arne_v Ekspert
31. maj 2006 - 02:37 #1
bare du bruger parameters er du såmænd beskyttet mod SQL injection

hvis du bruger stored procedure er du nødt til at bruge parameters

men det omvendte er ikke tilfældet
Avatar billede arne_v Ekspert
31. maj 2006 - 02:44 #2
Til inspiration:

<%
adParamInput = 1
adVarChar = 200
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Databases\MSAccess\Test.mdb;;"
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = con
cmd.CommandText = "SELECT COUNT(*) AS n FROM myusers WHERE un = @un AND pw = @pw"
cmd.Parameters.Append(cmd.CreateParameter("@un", adVarChar, adParamInput, 32))
cmd.Parameters.Append(cmd.CreateParameter("@pw", adVarChar, adParamInput, 32))
cmd.Parameters("@un") = "arne"
cmd.Parameters("@pw") = "duerikke"
Set rs = cmd.Execute
Response.Write rs("n")
Set rs = Nothing
Set cmd = Nothing
Set con = Nothing
%>
Avatar billede bufferzone Praktikant
31. maj 2006 - 08:37 #3
ellers er det input validering du skal ud i, men Arnes metoder er sikkert lettere at implementerer
Avatar billede fennec Nybegynder
31. maj 2006 - 08:53 #4
Hvad er fordelen ved parameter mod replace(tekst,"'","''") metoden??
Avatar billede arne_v Ekspert
09. juli 2006 - 04:12 #5
fennec>

fordi det er driveren som gør det så skal man ikke bekymre sig om hvorvidt
man nu skal gøre noget med dobbelt quotes, backslashes eller andet - man kan
regne med at driveren gør alt det nødvendige

den er også god til at håndtere forskellige dato formater
Avatar billede arne_v Ekspert
09. juli 2006 - 04:12 #6
og et svar fra mig
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
Kurser inden for grundlæggende programmering

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