webForumDet fria alternativet

Förhindra att sidan sql-hackas

ASP

3 svar · 319 visningar · startad av Kristianstad

Medlem sedan dec. 2002841 inlägg
Frågan#1

Hej!
Notera följande exempel:

tabortinlagg.asp?ID=342

<%
Conn.Execute("DELETE FROM tabell WHERE ID=" & Request.QueryString("ID"))
%>

Vi går sedan in på tabortinlagg.asp?ID=342 OR ID<>342
SQL-frågan blir då DELETE FROM tabell WHERE ID=342 OR ID<>342. Då går samtliga inlägg i tabellen bort!

Vanliga SQL Injections kan man ju förhindra genom att göra enkelfnuttar till dubbelfnuttar, men det fungerar ju bara på strängar.

Hur förhindrar jag detta på ett smidigt sätt?

Medlem sedan mars 20015 287 inlägg
#2

Du gör tex en koll att det bara är den med behörighet får lov att ta bort saker o ting på det där sättet.
Tex kolla om personen i fråga är inloggad.

/red. fast det löser iofs inte ditt egentliga problem...

Medlem sedan maj 2003924 inlägg
#3

ersätt med replace mellanrum med inget alls alltså Replace(str,"<","") och samma sak med < och > för dom teknen ska väl aldrig användas ändå typ borde hjälpa lte eller.

Medlem sedan dec. 20012 532 inlägg
#4

Kolla om ID är numeriskt, dvs bara innehåller siffror.

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)