webForumDet fria alternativet

Skydd mot sql injection?

3 svar · 976 visningar · startad av eee

eeeMedlem sedan sep. 2005100 inlägg
#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 ;)

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

eeeMedlem 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? ;)

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

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)