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.

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


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!