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