Cuestión : Inyección del SQL y ASP clásico

Hola los expertos,

I nunca han pensado de inyecciones del SQL antes, pero acaba de venir a mi attention.

I hizo una cierta investigación y las inyecciones del SQL parecen bastante fáciles de utilizar y corte en un DB.  tan simple como mecanografiando el siguiente en una tabla de la GOTA del textbox

abc';; --el

If esto es verdad, después cómo puede esto ser prevenida.  ¿'; la restricción junta será suficiente, o es complejo del MOR que eso?  ¿Encontré el código debajo de ese supuesto para prevenir inyecciones, pero no puedo decir cuál es él que hace y cómo utilizarlo? el

Lastly, si las restricciones de la inyección son necesarias, es ellas necesitó solamente cuando estoy haciendo el SQL EN DONDE, o también, el PARTE MOVIBLE, la ACTUALIZACIÓN, rs.AddNew, etc.

Thank you.
class= > " claro " 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= el ><% " notpretty " del id= " codeSnippet746605 " del
 del pStr) entonces
		el sTemp = substituye (pStr, “'”, “'' ")
	terminar si
	validText = sTemp
función del final

Función ReturnValue (sPattern, el sSearchString, iCase)

	oRegEx dévil, oMatches  
	Fijar el oRegEx = nuevo RegExp   

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

	Fijar los oMatches = oRegEx.Execute (el sSearchString) 

	Si >= 1 de oMatches.count entonces
		Seleccionar el iCase del caso
		Caso 0
		   ReturnValue = oMatches (0)
		Caso 1
		   ReturnValue = oMatches (0)
		Caso 2
		   ReturnValue = oMatches (1)
		Extremo selecto
   
		ReturnValue = 0	
   Terminar si

Terminar la función

función isReallyNumeric (pValue)
	bValidNumeric dévil
	sTemp dévil
	cTemp dévil
	amortiguar i
	
	bValidNumeric = verdad
	sTemp = CStr (pValue)
	
	para i = 1 a Len (sTemp)
		cTemp = mediados de (sTemp, i, 1)
		
		si Asc (cTemp) < 48 o Asc (cTemp) > 57 entonces
			bValidNumeric = falso
			salir para
		terminar si
	después

	isReallyNumeric = bValidNumeric
función del final

función IfNotNumeric (pValue, pDefaultValue)
	sTemp dévil 
  
	sTemp = pValue 
	si (pValue = "") O (no isReallyNumeric (pValue)) entonces  
		sTemp = pDefaultValue
	
		sTemp = ReturnValue + \ b”, sTemp, 0 (“\ b [0-9])
	terminar si
  
  IfNotNumeric = sTemp
función del final
%>
class= del

Respuesta : Inyección del SQL y ASP clásico

Si usted no quiere complicar cosas para arriba, simplemente para agregar esta función y para llamarla con su petición. Filtrará comandos de la inyección del SQL y dejará a SQL valor amistoso.
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:
Inyección de la función (x)
    x = substituye (x, “selecciona”, "")
    x = substituye (x, “gota”, el "")
    x = substituye (x, “--”, "")
    x = substituye (x, “parte movible”, el "")
    x = substituye (x, “cancelación”, el "")
    x = substituye (x, “xp_”, el "")
    x = substituye (x, “*”, el "")
    x = substituye (x, “#”, el "")
    x = substituye (x, “%”, el "")
    x = substituye (x, “y”, el "")
    x = substituye (x, “'”, el "")
    x = substituye (x, “(”, el "")
    x = substituye (x, ")”, el "")
    x = substituye (x, “/”, el "")
    x = substituye (x, “\”, el "")
    x = substituye (x, “: ”, "")
    x = substituye (x, “; ”, "")
    x = substituye (x, ""<>, el "")
    x = substituye (x, “=”, el "")
    x = substituye (x, “[”, el "")
    x = substituye (x, “]”, el "")
    ¿x = substituye (x, “? ”, "")
    x = substituye (x, “`”, el "")
    x = substituye (x, “|”, "")
    Inyección = x
Función del final
Otras soluciones  
 
programming4us programming4us