Nov 03 2006
Seguridad en tu Web ASP II
Bien el otro día comenzamos con Seguridad en tu Web ASP I
Pues hoy 2ª entrega!
Lo de hoy va a ser sencillo, os voy a poner un código en Asp, para prevenir el Sql Injection
¿Cuando usarla? pues casi siempre que tengas que hacer una inserción o un consulta, actualización sobre la BBDD y los datos los haya introducido un usuario.
La función:
function sqlString(s)
dim banned,bannedSP, i
banned = array(”select”,”update”,”alter”,”create”, “drop”, “insert”,”delete”, “xp_”,”OR”,”AND”,”where”,”group by”)bannedSP = array(”selecccionar”,”actualizar”,”alterar”,”crear”, “quitar”, “insertar”,”eliminar”, “xpSP_”,”o”,”y”,”donde”,”agrupado por”)
for i = 0 to uBound(banned)
s = replace(s, banned(i), bannedSP(i))
nexts=replace(s,”"”",”")
s=replace(s,”‘”,”””)
s = Replace(s,”;”, “.,”)
s=replace(s,”–”,”[--]“)
s = Replace(s,”[", "[[]“)
s = Replace(s,”%”, “[%]“)
s = Replace(s,”_”, “[_]“)
sqlString=s
end function
Para usarla solo debéis, o bien pegarla en vuestra página asp, o en vuestro fichero de include y se usa así:
stringsinInjection=sqlString(stringInjection)
Nos devolverá una cadena saneada :)
Ir con cuidado cuando la usáis, ya que yo le tuve que poner un array en español, ya que me insertaban datos en ingles, y esta función es muy exigente, no deja pasar una. Normalmente suelo tener otra más light, que simplemente hace los replace de abajo.
Bueno, ya se sabe realmente el contenido del acuerdo entre Microsoft y Novell que 