Questione : Iniezione di SQL & asp classico

Ciao gli esperti, il

I non hanno pensato mai alle iniezioni di SQL prima, ma è venuto appena al mio attention.

I ha effettuato una certa ricerca e le iniezioni di SQL sembrano ragionevolmente di facile impiego ed incisione in un db.  semplice quanto scriv quanto segue a macchina in una Tabella di GOCCIA del textbox

abc';; --il

If questo è allineare, quindi come può questo essere evitato.  '; limitare sarà insieme sufficiente, o è complesso di MOR che quello?  Ho trovato il codice sotto il quel presunto per impedire le iniezioni, ma non posso dire che cosa è esso che fa e come usarlo? il

Lastly, se le limitazioni dell'iniezione sono necessarie, è soltanto ha avuto bisogno di quando sto facendo lo SQL in DOVE, o anche, l'INSERTO, l'AGGIORNAMENTO, rs.AddNew, etc.

Thank you.
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
class= ><% " notpretty " del id= " codeSnippet746605 " del
 dello pStr) allora
		lo sTemp = sostituisce (pStr, “'„, “'' ")
	concluder se
	validText = sTemp
funzione di conclusione

Funzione ReturnValue (sPattern, sSearchString, iCase)

	oRegEx fioco, oMatches  
	Regolare il oRegEx = nuovo RegExp   

	oRegEx.Pattern = sPattern
	oRegEx.IgnoreCase = falso
	oRegEx.Global = allineano

	Regolare i oMatches = oRegEx.Execute (sSearchString) 

	Se >= 1 di oMatches.count allora
		Selezionare il iCase di caso
		Caso 0
		   ReturnValue = oMatches (0)
		Caso 1
		   ReturnValue = oMatches (0)
		Caso 2
		   ReturnValue = oMatches (1)
		Estremità prescelta
   altrimenti
		ReturnValue = 0	
   Concluder se

Concludere la funzione

funzione isReallyNumeric (pValue)
	bValidNumeric fioco
	sTemp fioco
	cTemp fioco
	oscurare la i
	
	bValidNumeric = allineare
	sTemp = CStr (pValue)
	
	per i = 1 a Len (sTemp)
		cTemp = metà di (sTemp, i, 1)
		
		se il CSA (cTemp) < 48 o il CSA (cTemp) > 57 allora
			bValidNumeric = falso
			uscire per
		concluder se
	dopo

	isReallyNumeric = bValidNumeric
funzione di conclusione

funzione IfNotNumeric (pValue, pDefaultValue)
	sTemp fioco 
  
	sTemp = pValue 
	se (pValue = "") O (non isReallyNumeric (pValue)) allora  
		sTemp = pDefaultValue
	altrimenti
		sTemp = ReturnValue (+ \ b„, sTemp, 0 “\ b [0-9])
	concluder se
  
  IfNotNumeric = sTemp
funzione di conclusione
%>
class= del

Risposta : Iniezione di SQL & asp classico

Se non volete complicare in su, semplicemente le cose per aggiungere questa funzione e per denominarla con la vostra richiesta. Filtrerà gli ordini dell'iniezione di SQL e lascerà a SQL il valore amichevole.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
Iniezione di funzione (x)
    x = sostituisce (x, “seleziona„, "")
    x = sostituisce (x, “goccia„, "")
    x = sostituisce (x, “--„, "")
    x = sostituisce (x, “inserto„, "")
    x = sostituisce (x, “cancellazione„, "")
    x = sostituisce (x, “xp_„, "")
    x = sostituisce (x, “*„, "")
    x = sostituisce (x, “#„, "")
    x = sostituisce (x, “%„, "")
    x = sostituisce (x, “&„, "")
    x = sostituisce (x, “'„, "")
    x = sostituisce (x, “(", "")
    x = sostituisce (x, ")„, il "")
    x = sostituisce (x, “/„, "")
    x = sostituisce (x, “\„, "")
    x = sostituisce (x, “: „, "")
    x = sostituisce (x, “; „, "")
    x = sostituisce (x, ""<>, "")
    x = sostituisce (x, “=„, "")
    x = sostituisce (x, “[„, "")
    x = sostituisce (x, “]„, il "")
    x = sostituisce (x, “? „, "")
    x = sostituisce (x, “`„, "")
    x = sostituisce (x, “|„, "")
    Iniezione = x
Funzione di conclusione
Altre soluzioni  
 
programming4us programming4us