webForumDet fria alternativet
Logga in / Bli medlem

Skydd mot sql injection?

ASP

3 svar · 978 visningar · startad av eee

Medlem sedan sep. 2005100 inlägg
Frågan#1

Har googlat och även sökt igenom forumet och blivit något klokare, tänkte mest kolla om mitt tilltänkta skydd är gott nog för att skydda mig mot sqlinjections.
Kör klassisk ASP och Mysql.

Det jag har är tex sida.asp?id=5 och så plockar den ut allt från databasen med id=5 och listar det, har även tex

SQL = "UPDATE tabell SET klick=klick+1 WHERE id = " & intID

Sen har jag en del forms där folk kan kommentera diverse saker.

Räcker det att köra med följande kod för att skydda sig mot sql injections?

Function antiSqlInjection(strSQL)
    strNewSql = Replace(strSQL, "'", "''")
    strNewSql = Replace(strNewSql, "\", "\\")
    antiSqlInjection = strNewSql
End Function

Har som sagt försökt läsa på så förhoppningsvis har jag kommit fram till rätt form av skydd, stort tack på förhand om ni orkar lära en säkerhetsnovis ;)

Medlem sedan juni 20019 519 inlägg
#2
SQL = "UPDATE tabell SET klick=klick+1 WHERE id = " & CLng(intID)

för tal, den andra funktionen är för strängar.

Medlem sedan sep. 2005100 inlägg
#3

Tack för svaret Voigtann, om jag förstått dig rätt skall jag lägga till CLng-delen på alla ställen där jag kör sqlsatser med tal så har jag ett fullgott skydd sen?

Eller missuppfattade jag dig? ;)

Medlem sedan juni 20019 519 inlägg
#4

eee skrev:

Tack för svaret Voigtann, om jag förstått dig rätt skall jag lägga till CLng-delen på alla ställen där jag kör sqlsatser med tal så har jag ett fullgott skydd sen?

Eller missuppfattade jag dig? ;)

Precis. Eller "Så gott som". Finns nog scenario jag inte tänker på men:
Om du ska ha tal så är det lika bra att konvertera indatan till ett tal. Bättre att ASPn säger nej om vi försöker skriva: id=blåbär;drop database att vi får ett felmeddelande på CLng än om den skulle försöka köra SQL frågan.

258 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)