Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho uma duvida pessoal, vejam:
tem um sisteminha aqui na empresa que fica online, existem varios formularios nele, rpeciso me atentar com so campos dos formualrio contra sql injection, tipo em bloquear ', ", *, & - e etc?
porem o sistema noa é tao pequeno, entao existem varios formularios no geral, sera qeu tenho qeu tratar todos os campos de todos os formularios?
alguem tem alguma sugestao?
Obirgado pela dica Rafael, mas nao manjo muito de criar funções no ASP, você poderia me ajudar com isso?
queria criar essa funcção e saber em que momento usa-la, você poderia me ajudar ?
outra duvida, isso teria qeu ir em todos os lugares que faço um reques.form ? pq tenho muitos lugares que faça
obrigado
>
function LimparTexto(str)
str = trim(str)
str = lcase(str)
str = replace(str,"=","")
str = replace(str,"'","")
str = replace(str,"""""","")
str = replace(str," or ","")
str = replace(str," and ","")
str = replace(str,"(","")
str = replace(str,")","")
str = replace(str,"<","[")
str = replace(str,">","]")
str = replace(str,"update","")
str = replace(str,"-shutdown","")
str = replace(str,"--","")
str = replace(str,"'","")
str = replace(str,"#","")
str = replace(str,"$","")
str = replace(str,"%","")
str = replace(str,"¨","")
str = replace(str,"&","")
str = replace(str,"'or'1'='1'","")
str = replace(str,"--","")
str = replace(str,"insert","")
str = replace(str,"drop","")
str = replace(str,"delet","")
str = replace(str,"xp_","")
str = replace(str,"select","")
str = replace(str,"*","")
LimparTexto = str
end function
Retirado do site http://codigofonte.uol.com.br/codigo/asp/seguranca/funcao-para-evitar-sql-injection
sempre uso esta, muito boa
Function SafeSQL(sInput)
TempString = sInput
'sBadChars=array("select", "drop", ";", "--", "insert", "delete", "xp_", "#", "%", "&", "'", "(", ")", "/", "\", ":", ";", "<", ">", "=", "[", "]", "?", "`", "|")
sBadChars=array("select", "drop", ";", "--", "insert", "delete", "xp_", "#", "%", "&", "'", "(", ")", ":", ";", "<", ">", "=", "[", "]", "?", "`", "|")
For iCounter = 0 to uBound(sBadChars)
TempString = replace(TempString,sBadChars(iCounter),"")
Next
SafeSQL = TempString
>
tenho uma duvida pessoal, vejam:
tem um sisteminha aqui na empresa que fica online, existem varios formularios nele, rpeciso me atentar com so campos dos formualrio contra sql injection, tipo em bloquear ', ", *, & - e etc?
porem o sistema noa é tao pequeno, entao existem varios formularios no geral, sera qeu tenho qeu tratar todos os campos de todos os formularios?
alguem tem alguma sugestao?
cria um arquivo de funções (caso você não tenha), desenvolva uma função que faça o bloqueio dos possíveis comandos por sql injection, ai quando der o request form, chame a função junto.
Ex:
dim nome_var
nome_var = NomedaFuncaoSQL(Request.Form("nome"))