Rem ## Long Integer Conversion
Functiontonum (s, predeterminado)
Ifisnumérico (s) ands <> "" entonces
tonum = clng (s)
Demás
tonum = predeterminado
Endif
Función final
REM ## Conversión de la declaración SQL
Functiontosql (str)
Ifisnull (str) thstr = ""
tosql = reemplazar (str, "''", "'' '")
Función final
Ejemplo:
Dimsql
Dimstrwhere, strname, intage
strname = tosql (request ("usuario"))
intage = tonum (solicitud ("edad"), 20)
sql = "select*de [usuario]" y _
"Donde [edad]>" & strname & _
"Y [nombre de usuario] = ''" & intage & "''"
En términos generales, a través de la consideración de las dos funciones anteriores, ¡se pueden eliminar los ataques de inyección SQL! Si cree que es necesario, puede agregar un reemplazo para Chr (0) y cambiar la función TOSQL a lo siguiente:
Functiontosql (str)
Ifisnull (str) thstr = ""
str = reemplazar (str, chr (0), "")
tosql = reemplazar (str, "''", "'' '")
Función final
Tenga en cuenta también:
****************************************************************************************
Detectar funciones presentadas externamente
FunctionCheckUrlRefer ()
Dimstrlocalurl, inturllen, strurlrefer
strlocalurl = "http://127.0.0.1"
inturllen = len (strlocalurl)
strurlrefer = lcase (request.servervariables ("http_referer") y "")
'' Detección de si la página anterior proviene de strlocalurl
Ifleft (strurlrefer, inturllen) = strlocalurlthen
CheckUrlRefer = True
Demás
CheckUrlRefer = falso
Endif
Función final
****************************************************************************************
Esta función puede ayudarlo a resistir las pruebas de inyección SQL externas, solo llámelas al cabezal de la página.
¡Haga que su programa ASP sea más seguro con dos pequeñas funciones simples!
¡Bienvenido a corregirme (por favor escriba el método para evitar estas dos funciones)!
Páginas de discusión relacionadas:
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)
nada (0) = "netuser"