Hej! <b>"Select password,countdate From medlemmar where username = '" & Request.Form("username") & "' AND aktiv = 'True' AND ban = '1'"</b> Det handlar om att rensa bort farliga tecken innan du skickar in den i databasen. Sen kan du göra lösenordskontrollen direkt i din SQL. Tack för hjälpen. ja, men ja har löst de... Ersätt \ med \\. Dessutom måste du se till att alla nummerfält som användaren kan fylla i bara innehåller siffror.Skydda sig mot SQL Injection
Det är såhär att jag har fått min admin hackad via sql injection.
Hur skyddar jag mig egentligen?
Så ser min kod ut:
<code>
If Request.QueryString("kontroll") = "1" Then
If Request.Form("username") = "user" And Request.Form("password") = "pass" Then
Session("admin1") = "1"
Session("admin") = "50"
Response.Redirect "admin.asp?steg=1"
Else
Response.Redirect("default.asp")
End If
End If
</code>
Har även mitt login script, de verkar som hackaren får tillgång till informationen i databasen.
Så ser mitt login script ut, snälla hjälp mig skydda mig mot dom!
<code>
If Request.Form("username") = "" OR Request.Form("password") = "" Then
Response.Redirect "index.asp?alert=1"
Else
Set Recset = Connect.Execute("Select password,countdate From medlemmar where username = '" & Request.Form("username") & "' AND aktiv = 'True' AND ban = '1'")
If Recset.EOF Then
Response.Redirect "index.asp?alert=2"
Else
If Recset("password") = Request.Form("password") Then
Session("username") = Request.Form("username")
Session("val") = "inloggad"
</code>
Tacksam för svar.Sv: Skydda sig mot SQL Injection
Vad händer om man som username matar in <b>' OR 0=0 OR ''='</b> (inkl alla fyra apostrofer)?Sv: Skydda sig mot SQL Injection
<code>
Username = Request.Form("username")
Username = Replace(Username, "'", "''")
Password = Request.Form("password")
Password = Replace(Password, "'", "''")
Set Recset = Connect.Execute("Select countdate From medlemmar where username = '" & Username
& "' AND password = '" & Password & "' AND aktiv = 'True' AND ban = '1'")
If Recset.EOF Then
'Fel användarnamn eller lösenord
Else
Session("username") = Request.Form("username")
Session("val") = "inloggad"
End If
</code>
/ThomasSv:Skydda sig mot SQL Injection
Men om man försöker injecting via Querystring då?
Mvh HassanSv:Skydda sig mot SQL Injection
byter ut form mot querystring o ersätter ' med ''
nått mer ja behöver tänka på?Sv: Skydda sig mot SQL Injection
/DaPe