REM ## Long Integer Conversion
FunctionTonum (s, Standard)
Ifisnumeric (s) und <> "" dann
tonum = clng (s)
Anders
tonum = Standard
Endif
Endfunktion
REM ## SQL Anweisung Conversion
FunctionTOSQL (STR)
Ifisnull (str) thstr = "" "
toSQL = ersetzen (str, "'", "' '' '")
Endfunktion
Beispiel:
Dimsql
Dimstrwhere, Strname, Intage
strname = toSQL (request ("user"))
Intage = tonum (Anfrage ("Alter"), 20)
SQL = "Select*aus [Benutzer]" & _
"Wo [Alter]>" & Strname & _
"Und [Benutzername] = ''" & Intage & "''" "
Im Allgemeinen können SQL -Injektionsangriffe durch die Berücksichtigung der beiden oben genannten Funktionen beseitigt werden! Wenn Sie der Meinung sind, dass dies notwendig ist, können Sie einen Ersatz für CHR (0) hinzufügen und die TOSQL -Funktion in Folgendes ändern:
FunctionTOSQL (STR)
Ifisnull (str) thstr = "" "
str = ersetzen (str, chr (0), "")
toSQL = ersetzen (str, "'", "' '' '")
Endfunktion
Hinweis:
********************************************************
Extern eingereichte Funktionen erkennen
Funktionscheckurlrefer ()
Dimstrlocalurl, Inturllen, Strulrefer
stlocalurl = "http://127.0.0.1"
inturllen = len (strlocalurl)
stRURLREFER = lase (Request.Servervariables ("http_referer") & "")
'' Erkennung, ob die vorherige Seite von Strlocalurl stammt
Ifleft (strurlrefer, inturllen) = strLocalurlthen
Checkurlrefer = true
Anders
Poteurlrefer = false
Endif
Endfunktion
********************************************************
Diese Funktion kann Ihnen helfen, externe SQL -Injektionstests zu widerstehen. Rufen Sie sie einfach am Kopf der Seite an.
Machen Sie Ihr ASP -Programm mit zwei einfachen kleinen Funktionen sicherer!
Willkommen bei Correat Me (bitte schreiben Sie die Methode aus, um diese beiden Funktionen zu umgehen)!
Verwandte Diskussionsseiten:
http://community.csdn.net/expert/topicview.asp?id=3585010
http://community.csdn.net/expert/topicview.asp?id=3582230
http://community.csdn.net/expert/topic/3589/3589480.xml?temp=.4866449
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dimqs, Errc, iii
QS = Request.Servervariables ("query_string")
Dimnothis (18)
Nichts (0) = "NetUser"