Bloqueando SQL Injection
E aí galera...
Fiz uma função aqui que acho que pode ajudar muita gente. É impressionante a quantidade de sites vulneráveis a SQL Injection que achamos por aí, e não é dificil de se fazer basta ler um tutorial que você encontra por ai (até mesmo no google) e você pode ter o controle do bd fácil fácil, como deletar registros inteiros de tabelas ou até mesmo inserir muitos registros e várias outras coisas se você tiver uma boa noção de SQL.
Para mais informações acesse:http://www.casadoswebmasters.com.br/index....25&colid=25
Segue a função:
Essa função eu peguei do http://blogasp.wordpress.com/ e adaptei.
Lembrando que, isso é só uma precaução, você não estará 100% livre de ataques por SQL injection, se o "hacker" for muito bom.
Se alguém quiser acrescentar alguma coisa ou fazer críticas, fique a vontade..
Fiz uma função aqui que acho que pode ajudar muita gente. É impressionante a quantidade de sites vulneráveis a SQL Injection que achamos por aí, e não é dificil de se fazer basta ler um tutorial que você encontra por ai (até mesmo no google) e você pode ter o controle do bd fácil fácil, como deletar registros inteiros de tabelas ou até mesmo inserir muitos registros e várias outras coisas se você tiver uma boa noção de SQL.
Para mais informações acesse:http://www.casadoswebmasters.com.br/index....25&colid=25
Segue a função:
Essa função eu peguei do http://blogasp.wordpress.com/ e adaptei.
CODE
Function BlockSQLInjection(Texto)
Texto = lcase(Texto)
lixo = array ("select", "drop", ";", "--", "insert", "delete", "xp_", "=", " or ", "-shutdown", "update", " and ", "'", "&")
for intI = 0 to uBound(lixo)
'Aqui o código faz a verificação se existe algum dos valores acima setados acima.
If instr(1,Texto,lixo(intI),1)>0 Then
'Aqui o código grava no bd um registro do tipo de ataque sql injection que o cara tentou fazer, ex: delete, update, etc... E grava o ip dele.
'Você pode fazer qualquer ação aqui até redirecionamento para alguma página. A UOL a tempos atrás quando alguém tentava fazer um ataque
'por SQL Injection ela redirecionava o "hacker" para a página do fbi.
conn.Execute("INSERT INTO Tabela (Tipo, IP) VALUES ('SQL Injection - "&lixo(intI)&"', '"&Request.ServerVariables("REMOTE_ADDR")&"')")
End If
Texto = replace(Texto, lixo(intI) , "")
next
BlockSQLInjection = Texto
End Function
Texto = lcase(Texto)
lixo = array ("select", "drop", ";", "--", "insert", "delete", "xp_", "=", " or ", "-shutdown", "update", " and ", "'", "&")
for intI = 0 to uBound(lixo)
'Aqui o código faz a verificação se existe algum dos valores acima setados acima.
If instr(1,Texto,lixo(intI),1)>0 Then
'Aqui o código grava no bd um registro do tipo de ataque sql injection que o cara tentou fazer, ex: delete, update, etc... E grava o ip dele.
'Você pode fazer qualquer ação aqui até redirecionamento para alguma página. A UOL a tempos atrás quando alguém tentava fazer um ataque
'por SQL Injection ela redirecionava o "hacker" para a página do fbi.
conn.Execute("INSERT INTO Tabela (Tipo, IP) VALUES ('SQL Injection - "&lixo(intI)&"', '"&Request.ServerVariables("REMOTE_ADDR")&"')")
End If
Texto = replace(Texto, lixo(intI) , "")
next
BlockSQLInjection = Texto
End Function
Lembrando que, isso é só uma precaução, você não estará 100% livre de ataques por SQL injection, se o "hacker" for muito bom.
Se alguém quiser acrescentar alguma coisa ou fazer críticas, fique a vontade..
Valeu!