Rem ## Conversion en entier long
Functiontonum (s, par défaut)
Ifisnumeric (s) ands <> "" alors
tonum = clng (s)
Autre
tonum = par défaut
Endire
Finition de fin
Rem ## Conversion de déclaration SQL
FONCTIONTOSQL (STR)
Ifisnull (str) thstr = ""
tosql = remplacer (str, "''", "'' ''")
Finition de fin
Exemple:
Dimsql
Dimstrwhere, strname, intage
strname = tosql (request ("utilisateur"))
intage = tonum (demande ("âge"), 20)
sql = "select * from [user]" & _
"Où [âge]>" & strname & _
"Et [username] = ''" & intage & "''"
De manière générale, grâce à la considération des deux fonctions ci-dessus, les attaques d'injection SQL peuvent être éliminées! Si vous pensez que c'est nécessaire, vous pouvez ajouter un remplacement pour Chr (0) et modifier la fonction TOSQL par ce qui suit:
FONCTIONTOSQL (STR)
Ifisnull (str) thstr = ""
str = remplacer (str, chr (0), "")
tosql = remplacer (str, "''", "'' ''")
Finition de fin
Remarque également:
********************************************************************************
Détecter les fonctions soumises en externe
FonctionCheckurlRefer ()
Dimstrlocalurl, intUrllen, strurlrefer
strLocalurl = "http://127.0.0.1"
intUrllen = len (strLocalurl)
strurlRefer = lCase (request.servervariables ("http_referrer") & "")
`` Détection si la page précédente vient de strlocalurl
Ifleft (strurlRefer, intUrllen) = strlocalurlthen
CheckurlRefer = true
Autre
CheckurlRefer = false
Endire
Finition de fin
********************************************************************************
Cette fonction peut vous aider à résister aux tests d'injection SQL externes, il suffit de les appeler à la tête de la page.
Rendez votre programme ASP plus sûr avec deux petites fonctions simples!
Bienvenue pour me corriger (veuillez écrire la méthode pour contourner ces deux fonctions)!
Pages de discussion connexes:
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)
rien (0) = "netuser"