Frage : Sql-Einspritzung u. klassisches Asp

Hallo gedacht Experten,

I nie an SQL-Einspritzungen vor, aber es kam gerade zu meinem attention.

I tat etwas Forschung und SQL-Einspritzungen scheinen ziemlich bedienungsfreundlich und Kerbe in ein DB.  so einfach wie, das folgende in eine textbox

abc'; TROPFEN Tabelle schreibend; --

If dieses ist, dann zutreffend, wie dieses verhindert werden kann.  ist die Beschränkung '; zusammen genügend, oder ist es MOR-Komplex als das?  Ich fand den Code unter diesem, angenommen Einspritzungen zu verhindern, aber ich kann was es tuend und wie man ist nicht erklären, es verwendet? IN

Lastly, wenn Einspritzungbeschränkungen erforderlich sind, sind sie nur brauchte, wenn ich SQL DEM oder auch, EINSATZ, UPDATE, rs.AddNew, etc.

Thank you.
tue
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:
6:
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:
<%

'Folgende Funktionen verhindern SQL-Einspritzungen.

Funktion validText (pStr)
	schwaches sTemp
	
	sTemp = ""
	wenn nicht isNuLL (pStr) UND (pStr <> "") dann
		sTemp = ersetzen (pStr, „'“, „'' ")
	beenden wenn
	validText = sTemp
Endenfunktion

Funktion ReturnValue (sPattern, sSearchString, iCase)

	Schwaches oRegEx, oMatches  
	oRegEx einstellen = neues RegExp   

	oRegEx.Pattern = sPattern
	oRegEx.IgnoreCase = falsch
	oRegEx.Global = ausrichten en

	oMatches = oRegEx.Execute (sSearchString) einstellen 

	Wenn oMatches.count >= 1 dann
		Fall iCase vorwählen
		Rechtssache 0
		   ReturnValue = oMatches (0)
		Rechtssache 1
		   ReturnValue = oMatches (0)
		Rechtssache 2
		   ReturnValue = oMatches (1)
		Ende auserwählt
   sonst
		ReturnValue = 0	
   Beenden wenn

Funktion beenden

Funktion isReallyNumeric (pValue)
	schwaches bValidNumeric
	schwaches sTemp
	schwaches cTemp
	i verdunkeln
	
	bValidNumeric = ausrichten
	sTemp = CStr (pValue)
	
	für i = 1 zu Len (sTemp)
		cTemp = mittler (sTemp, i, 1)
		
		wenn Asc (cTemp) < 48 oder Asc (cTemp) > 57 dann
			bValidNumeric = falsch
			für herausnehmen
		beenden wenn
	zunächst

	isReallyNumeric = bValidNumeric
Endenfunktion

Funktion IfNotNumeric (pValue, pDefaultValue)
	schwaches sTemp 
  
	sTemp = pValue 
	wenn (pValue = "") ODER (nicht isReallyNumeric (pValue)) dann  
		sTemp = pDefaultValue
	sonst
		sTemp = ReturnValue („\ b [0-9] + \ b“, sTemp, 0)
	beenden wenn
  
  IfNotNumeric = sTemp
Endenfunktion
%>

Antwort : Sql-Einspritzung u. klassisches Asp

Wenn Sie nicht Sachen oben, einfach erschweren möchten diese Funktion zu addieren und sie mit Ihrem Antrag zu benennen. Er filtert SQL-Einspritzungbefehle und lässt SQL freundlichen Wert.
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:
Funktions-Einspritzung (x)
    x = ersetzen (x, „vorwählen“, "")
    x = ersetzen (x, „Tropfen“, "")
    x = ersetzen (x, „--“, "")
    x = ersetzen (x, „Einsatz“, "")
    x = ersetzen (x, „Löschung“, "")
    x = ersetzen (x, „xp_“, "")
    x = ersetzen (x, „*“, "")
    x = ersetzen (x, „#“, "")
    x = ersetzen (x, „%“, "")
    x = ersetzen (x, „u.“, "")
    x = ersetzen (x, „'“, "")
    x = ersetzen (x, „(“, "")
    x = ersetzen (x, ")“, "")
    x = ersetzen (x, „/“, "")
    x = ersetzen (x, „\“, "")
    x = ersetzen (x, „: “, "")
    x = ersetzen (x, „; “, "")
    x = ersetzen (x, ""<>, "")
    x = ersetzen (x, „=“, "")
    x = ersetzen (x, „[“, "")
    x = ersetzen (x, „]“, "")
    x = ersetzen (x, „? “, "")
    x = ersetzen (x, „`“, "")
    x = ersetzen (x, „|“, "")
    Einspritzung = x
Enden-Funktion
Weitere Lösungen  
 
programming4us programming4us