Rem ## Conversão inteira longa
Functiontonum (S, padrão)
Ifisnumeric (s) ands <> "" então
tonum = clng (s)
Outro
tonum = padrão
Endif
Função final
REM ## SQL Declaração Conversão
Functiontosql (str)
Ifisnull (str) thstr = ""
tosql = substituir (str, "'' '', '' '' '' ')
Função final
Exemplo:
Dimsql
Dimtrwhere, strname, intrage
strname = tosql (request ("usuário"))
intrage = tonum (solicitação ("idade"), 20)
sql = "selecione*de [usuário]" & _
"Onde [idade]>" & strname & _
"E [nome de usuário] = ''" & Intage & "''"
De um modo geral, através da consideração das duas funções acima, os ataques de injeção de SQL podem ser eliminados! Se você acha que é necessário, você pode adicionar um substituto para Chr (0) e alterar a função TOSQL para o seguinte:
Functiontosql (str)
Ifisnull (str) thstr = ""
str = substituir (str, chr (0), "")
tosql = substituir (str, "'' '', '' '' '' ')
Função final
Observe também:
*************************************************
Detectar funções enviadas externamente
FunctionCheckurlRefer ()
Dimstrlocalurl, Inturllen, StrurlRefer
strlocalurl = "http://127.0.0.1"
inturllen = len (strlocalurl)
strurlRefer = lcase (request.Servervariables ("http_referer") & "
'' Detecção se a página anterior vem de strlocalurl
Ifleft (strurlRefer, inturllen) = strlocalurlthen
CheckurlRefer = true
Outro
CheckurlRefer = false
Endif
Função final
*************************************************
Essa função pode ajudá -lo a resistir aos testes externos de injeção de SQL, basta ligar para eles na cabeça da página.
Torne seu programa ASP mais seguro com duas pequenas funções simples!
Bem -vindo para me corrigir (por favor, escreva o método para ignorar essas duas funções)!
Páginas de discussão 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"