Validação de Formulário
Eu nem sei se o lugar é aqui, nunca fiz, e de agora em diante tentarei fazer com mais frequência.
É impressionante a quantidade de tópicos que leio sem nenhum tipo de tratamento de dados, ou o povo não sabe fazer ou simplesmente tem preguiça de fazer o correto.
Segue uma dica que uso, pode ser usado tanto em forms externo como interno, eu particularmente uso dois tipos, esse que vou postar é de externo.
Coloque esse código dentro da própria página ou chame através de outro
<%
function anti(str)
campo=str
lista=Array("/",".","-","=",";","*",":",">","<","--","'or'1'='1'","' or 1=1--","''","&","%","$","#","'","'","\","\\","//","(",")","[","]","+","1 - ^(''''!'''')(()))''''''''''''","1 - ../../../../../../../../../../w''dows/w''.''i","1 - ../../../../../../../../../../boot.''i","1 - !(()''''!|''|''|","1 - ................w''dowsw''.''i","and (sleep(4)","or (sleep(4)","1 - 1'' and sleep(4)=''","1 - !(()''''!|''|''|","1 - 1;'' pg_sleep(4); '' ","1 - 1; waitfor delay ''0''0''4'' '' ","1 - JyI=","-1 or"," or "," in ","replace","drop","remove","delete","alter"," and ","update"," show "," table ","delimiter","create","truncate"," inner "," join ","insert"," like "," not "," left ","where","select","xp_"," into "," table "," http "," html "," into ","select","where","left"," not "," like "," alter "," insert ","delete","create"," union "," sleep ","delay"," and "," dir "," some "," limit ","pg_sleep","waitfor","response.write","SomeCustomInjectedHeader''''jected_by_wvs","boot","vulnweb.com","vulnweb","")
campo=replace(campo,"","")
for i=0 to ubound(lista)
campo=replace(campo,lista(i),"")
next
anti=campoend function
%>
Quando resgatar os dados do form:
Variavel = anti(Request.form("campo"))
simples e funcional.
Acredito que tenha outras formas de fazer e também acrescentar mais palavras (comandos), mas para quem não faz nenhum, esse já está ótimo.
Depois disso eu ainda testo mais
campo data
campo numerico
campo email
e assim por diante. repetindo, só decidi fazer esse tópico, porque vejo um monte de códigos que na SQL tem request.form("campo") ou somente request("campo")
Os mais experientes daqui poderia me dizer se fiz besteira postar isso, ou se realmente é interessante.
Abs,
Discussão (6)
Carregando comentários...