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.
<% 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 %>
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
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.