Citat:
Originally posted by Vimp@Jun 21 2008, 23:46
Det där är ett helt värdelöst skydd. Det enda sättet att skydda sig på är genom att köra med ADODB.Command och parametrar.
Kika här:
http://www.aspsidan.se/default.asp?p...d=5&pId=562673
Du bör även använda stored procedures och inte bara vanliga sql-injections på sidan. Då kan du genom dem ange direkt vilken kod som ska köras och samtidigt få all sql-kod på samma plats, vilket underlättar om du hittar något fel.
|
Men om jag replacar ; mot typ / och () mot /, borde man inte vara skyddad mot den typen av SQL Injections?
Dock såg detta ut att kunna lösa problemet:
Kod:
Const adVarChar = 200
Const adParamInput = 1
cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandText = "SELECT * FROM Users WHERE Username = ?"
cmd.Parameters.Append cmd.CreateParameter("Username", adVarChar, adParamInput)
cmd.Parameters("Username") = "Tant102"