Função SafeRequest(ParaName,ParaType)
'--- Passa os parâmetros---
'ParaName: nome do parâmetro - tipo de caractere
'ParaType: Tipo de parâmetro - tipo numérico (1 indica que os parâmetros acima são números, 0 indica que os parâmetros acima são caracteres)
Dim ParaValor
ParaValue=Solicitação(ParaNome)
Se ParaType=1 então
Se não for isNumeric(ParaValue) então
Parâmetro Response.write & ParaName & deve ser numérico!
Resposta.fim
Terminar se
Outro
ParaValue=substituir(ParaValue, ', ' ')
Terminar se
SafeRequest=ParaValor
Função final
Use SafeRequest(ParaName,ParaType) em vez de request.form() e request..querystring()
************************************************** ************************************************* ** *****
-------------------------------------------------- -------------------------------------------------- ---------------------------------------
************************************************** ************************************************* ** *****
<%
dimsql_injdata
sql_injdata= '|e|exec|inserir|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare
sql_injHint=substituir(sql_injdata,|, )
sql_injHint=substituir(sql_injHint, ', ')
sql_inj=split(sql_injdata,|)
se request.querystring<> então
para cada getData em request.querystring
para i = 0 para ubound (sql_inj)
se instr(lcase(request.querystring(getData)),sql_inj(i))>0 então
hint=alert( 'Para garantir a segurança das informações do usuário, não use caracteres de injeção ilegais. Os seguintes caracteres são ilegais: @sql_injHint@ ');
dica=substituir(dica,@sql_injHint@,sql_injHint)
resposta.write <linguagem de script = javascript>
dica de resposta.write
resposta.write histórico.back()
resposta.write </script>
resposta.fim
terminar se
próximo
próximo
terminar se
se request.form<> então
para cada getData em request.querystring
para i=0 para ubound(sql_inj)
se instr(lcase(request.form(getData)),sql_inj(i))>0 então
hint=alert( 'Para garantir a segurança das informações do usuário, não use caracteres de injeção ilegais. Os seguintes caracteres são ilegais: @sql_injHint@ ');
dica=substituir(dica,@sql_injHint@,sql_injHint)
resposta.write <linguagem de script = javascript>
dica de resposta.write
resposta.write histórico.back()
resposta.write </script>
resposta.fim
terminar se
próximo
próximo
terminar se
%>Forme esse código em um arquivo (como: defanj.asp) e adicione todos os arquivos que precisam ser usados no banco de dados ao cabeçalho <!--#include file=defanj.asp-->