Mais um código contra SQL Injection
Primeiro criaremos um arquivo chamado sqlinjection.asp, esse arquivo terá o seguinte código:
<%
function sqlInjection()
'Palavras que serão barradas caso encontradas nos request
palavrasDoMal = array("insert", "drop", " or ", "update", "cast")
' Verificando o que é passado pelo request.queryString
for each item in request.QueryString
for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)
if instr(lcase(Request.QueryString(item)), lcase(palavrasDoMal(j))) > 0 then
response.Redirect("erro.asp?d=injectionQueryString")
end if
next
next
'Verificando o que é enviado por request.form
for each item in request.form
for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)
if instr(lcase(Request.form(item)), lcase(palavrasDoMal(j))) > 0 then
response.Redirect("erro.asp?d=injectionForm")
end if
next
next
' Verifica o que está sendo passado via cookies
for each item in request.Cookies
for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)
if instr(lcase(Request.Cookies(item)), lcase(palavrasDoMal(j))) > 0 then
response.Redirect("erro.asp?d=injectionCookies")
end if
next
next
end function
'Aqui chamamos a função
sqlInjection()
%>
Esse arquivo deve ser inserido no topo de todas as páginas que vc quiser verificar, por exemplo, na página login.asp
<!--#include file="sqlinjection.asp"-->
<%
' Resto do código
%>
Dessa forma é verificada todas as possibilidades de injection na sua aplicação, ou qq outra aplicação que precise validar palavras, já usei em um forum onde não eram permitidas palavras de baixo calão, é necessário somente incluir no array palavrasDoMal o que vc quiser validar
Qq dúvida entrem em contato
abs
Nenhum comentário:
Postar um comentário