Fråga : Sql-injektion & klassiker ASP

Hälsningexperter,

I har aldrig tänkt om SQL-injektionar för, men det kom precis till min attention.

I gjorde någon forskning, och SQL-injektionar verkar ganska enkla att använda och hackan in i en db.  så enkelt som att skriva in i en textbox

abc'; TAPPA efter bordlägger; --

If detta är riktig, då hur kan denna förhindras.  ska begränsande '; är tillsammans tillräckligt eller är det mor-komplex än det?  I grundar den nedanföra kodifiera som förhindrar förmodligen injektionar, men jag kan inte berätta vad är det som gör och hur man använder det?

Lastly, om injektionbegränsningar är nödvändiga, är dem behövde endast när I-förmiddagen som gör SQL VAR, eller också, MELLANLÄGGET IN I, UPPDATERINGEN, rs.AddNew, etc.

Thank you.
> för
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:
" codeBody " class= " notpretty " ><% för "") därefter sTemp = byter ut (pStr, ”'”, ”''”) avsluta om validText = sTemp avsluta fungerar Fungera ReturnValue (sPattern, sSearchString, iCasen) Dunkel oRegEx, oMatches Fastställd oRegEx = nya RegExp oRegEx.Pattern = sPattern oRegEx.IgnoreCase = falskt oRegEx.Global = true Fastställda oMatches = oRegEx.Execute (sSearchString) Om oMatches.count->= 1 därefter Välj falliCasen Fall 0 ReturnValue = oMatches (0) Fall 1 ReturnValue = oMatches (0) Fall 2 ReturnValue = oMatches (1) Avsluta valt annars ReturnValue = 0 Avsluta om Avsluta fungerar fungera isReallyNumeric (pValue) dunkelt bValidNumeric dunkel sTemp dunkel cTemp dunkelt I bValidNumeric = true sTemp = CStr (pValue) för I = 1 till Len (sTemp) cTemp = mitt- (sTemp, I, 1) om Asc (cTemp) < 48 eller Asc (cTemp) > 57 därefter bValidNumeric = falskt gå ut för avsluta om därefter isReallyNumeric = bValidNumeric avsluta fungerar fungera IfNotNumeric (pValue, pDefaultValue) dunkel sTemp sTemp = pValue om (pValue = "") ELLER (inte isReallyNumeric (pValue)) därefter sTemp = pDefaultValue annars sTemp = ReturnValue (”\ b [0-9] + \ b”, sTemp, 0) avsluta om IfNotNumeric = sTemp avsluta fungerar %>
" klar "

Svar : Sql-injektion & klassiker ASP

Om du inte önskar att försvåra upp saker, tillfoga enkelt detta fungerar och appellen det med din förfrågan. Den ska filtrerar SQL-injektionen befaller, och tjänstledighetSQL-vänskapsmatchen värderar.
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:
Fungera injektion (x)
    x = byter ut (x, ”väljer”, ""),
    x = byter ut (x, ”tappar”, ""),
    x = byter ut (x, ”,--” "")
    x = byter ut (x, ”mellanlägg”, "")
    x = byter ut (x, ”borttagnings”, "")
    x = byter ut (x, ”xp_”, "")
    x = byter ut (x, ”*”, "")
    x = byter ut (x, ”nr.”, "")
    x = byter ut (x, ”%”, "")
    x = byter ut (x, ”&”, "")
    x = byter ut (x, ”'”, "")
    x = byter ut (x, ”(”, "")
    x = byter ut (x, ”)”, ""),
    x = byter ut (x, ”/”, "")
    x = byter ut (x, ”\”, "")
    x = byter ut (x, ”: ”, "")
    x = byter ut (x, ”; ”, "")
    x = byter ut (x, ""<>, "")
    x = byter ut (x, ”=”, "")
    x = byter ut (x, ”[”, "")
    x = byter ut (x, ”]”, ""),
    x = byter ut (x, ”? ”, "")
    x = byter ut (x, ”`”, "")
    x = byter ut (x, ”,|”, "")
    Injektion = x
Avsluta fungerar
Andra lösningar  
 
programming4us programming4us