SQLInjectionKiller!!!

ASP

4 svar · 331 visningar · startad av Megaman

Medlem sedan jan. 2004118 inlägg
Trådstart#1

Detta borde väl vara en säkert mot sqlinjection eller????

Den borde ju vara ganska säkert att göra så här istället för koden snutten under denna kod

Function SQLInjectionKillers(strWords)

strBadWords = Array("SELECT", "DROP", ";", "--", "INSERT", "DELETE", "xp_", "UNION")
strBadWordsReplace = Array("&#83elect", "&#68rop", "&#59", "&#45-", "&#73nsert", "&#68elete", "&#120p&#95", "&#85nion")
				
For iSQL = 0 to uBound(strBadWords)
	strWords = Replace(strWords, strBadWords(iSQL), strBadWordsReplace(iSQL),1,-1,1)

Next
				
SQLInjectionKillers = strWords
End Function

istället för typ denna

 
Function Fixa(str)
  Fixa  = Replace(Trim(str),"'","''")
End function

den ersätter tydligen vissa tecken i strBadWordsReplace för så här var det inte som jag klistrade in.

Medlem sedan dec. 20003 563 inlägg
#2

Din funktion gör tyvärr ingenting.
SELECT är ekvivalent med select i sql. Inte case-sensitive.

Medlem sedan jan. 2004118 inlägg
#3

Okej tänkte att om man erstte ord som DROP, INSERT, DELETE så skulle det kanske vara säkert.

Functionen Fixa tecken andvänder jag idag den andra var som sagt var bara en tanke...

Och när du väl säger det så väljer du ju en tabel med select men om man tar bort select ifrån det kan den då funka bra???

Medlem sedan maj 200010 687 inlägg
#4

Din funktion är inte särskilt vettig. Enda den gör är att modifiera inkommande data vilket kan vara mycket irriterande.

När det handlar om strängar, ersätt ' med ''.
När det handlar om tal, booleans och datum typkonverterar man.

Här finner du lite mer info:
http://www.webforum.nu/showthread.php?s=&postid=1037886#post1037886

Medlem sedan jan. 2004118 inlägg
#5

Okej och tack för länken du skickade intressant läsning!!!

260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)