Är detta ett dugligt skydd mot sql injection? Har ni några bättre förslag? Det ser bra ut. \ är inget escape-tecken i ASP/Access, så det behövs inte. ' kan alltid ställa till det så det är bra om man kan förbjuda det i användarnamn och lösenord. Om du gjort det kan du ta bort ' helt i indatat. Lita aldrig på indata. Det hacket som cirkulerar nu verkar som att det bygger på att folk skickar "integers" rakt in i sql-strängen (typ id-nummer i en querystring etc) Här är lite kod som jag använder på en news sida. Japp, genom att konvertera till ett heltal först så kommer det bli ett felmeddelande istället om det är något annat än ett tal i strängen. Vill bara inflika lite, att komma förbi utbyte av ' mot '' är väldigt enklet , genom att skicka tex hex koder "input validation" är ett fundamentalt begrepp inom webb-utveckling: Annars kommer man väldigt långt med parameteriserade frågor, finns ingen anledning att köra annat, minimalt med strul, och säkerhetsmässigt ligger det väldigt bra till Har du testat SecureRequest? Skydd mot sql injection
Oerhört tacksam för snabbt svar, använder accessdatabas.
anvnamn = Replace(Request.Form("anvnamn"), "'", "''")
losenord = Replace(Request.Form("losenord"), "'", "''")
anvnamn = Replace(anvnamn, "\", "\\")
losenord = Replace(losenord, "\", "\\")Sv: Skydd mot sql injection
anvnamn = Replace(Request.Form("anvnamn"), "'", "")
losenord = Replace(Request.Form("losenord"), "'", "")
/JohanSv: Skydd mot sql injection
Sv:Skydd mot sql injection
If Request.QueryString("id") <> "" Then
sql = "select * from articles where typ = 'Nyheter' and id = "&Request.Querystring("id")&" order by id desc"
End If
Den körs om man klickat på någon nyhetsöverskrift. Om jag förstår rätt är även detta motagligt för sql injection om någon skriver lite kod i urlfältet?Sv: Skydd mot sql injection
sql = "select * from articles where typ = 'Nyheter' and id = " & CInt(Request.Querystring("id")) & " order by id desc"
/JohanSv:Skydd mot sql injection
Parametrar däremot skyddar rätt bra mot sqlinjection, så använd dem och konkatenera aldrig ihop användar inmatad information till en sql fråga.Sv: Skydd mot sql injection
http://msdn.microsoft.com/sv-se/library/aa302418(en-us).aspx#c02618429_009
En generell rekommendation är att använda regular expressions.Sv:Skydd mot sql injection
Sv: Skydd mot sql injection
http://www.securerequest.net
Det är en modul som ersätter det inbyggda Request objektet - sedan filtrerar den bort skadliga SQL kommandon.