23 de Marzo, 2006


Función/método para combatir el SQL INJECTION

Como no podía faltar, os presento aquí una función que os será utilísima para aquellos que pasáis de procedimientos almacenados o que no os viene bien o no podéis o... bueno, paro ahí.

Se trata de una función o método para combartir el SQL INJECTION. Como todos sabéis, es un ataque a través de la barra de navegación o a través de cajas de texto en vuestra web etc... en el que se inyectan códigos malignos tipo DELETE etc... para dañar vuestra web o simplemente para acceder a sitios restringidos.

Bueno sin enrollarme más y agradeciendo la refinación de la función a mi compañero Andrés os dejo aquí esta función que deberíais incluir en vuestra librería de utilidades:

Function AntiSqlInjection(cadena)

dim charReplace, valuesBanned, x

'constantes de caracteres a eliminar

Const CHARS = "'%/\<>()"

 

For x = 1 To Len(CHARS)

            charReplace = MID(CHARS, x, 1)

            cadena = Replace(cadena, charReplace, " ")

Next

 

'no queremos estos valores prohibidos

valuesBanned=Array("select","delete","update","insert", "truncate", "drop", "--")

for each valuesBanned in valuesBanned

            cadena=Replace(lcase(cadena),valuesBanned,"")

next

AntiSqlInjection=cadena

End Function