29/04/2005, 09:20
|
| | | Fecha de Ingreso: agosto-2002 Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 4 meses Puntos: 16 | |
estas sonviejas Un par de funciones viejas mas refinadas
Esta funcion da la opcion de checar por la existencia de una variable, segun un tipo de dato requerido, en el caso de que no cumpla con la regla a validar, asigna un valor por defecto.
Código:
function checa_cadena(cadena,tipo_de_dato_a_chequear,valor_por_defecto)
'tipo_de_dato_a_chequear = 0 cadena deberia ser una cadena de largo no igual a cero
'tipo_de_dato_a_chequear = 1 cadena deberia ser numerico
'tipo_de_dato_a_chequear = 2 cadena deberia ser fecha
Select Case tipo_de_dato_a_chequear
Case 0
if len(cadena) = 0 then
salida = valor_por_defecto
else
salida = cstr(cadena)
end if
Case 1
if isnumeric(cadena) = false then
salida = valor_por_defecto
else
salida = cadena
end if
Case 2
if isdate(cadena) = false then
salida = valor_por_defecto
else
salida = cadena
end if
Case Else
salida = cadena
End Select
checa_cadena = salida
end function
Esta funcion unifica los modos de limpiar que puede presentar una variable.
permitiendo anexar mas formas de limpiar una cadena.
Código:
function limpia_cadena(str_a_limpiar,modo_de_limpiar)
'modo_de_limpiar = 0 prepara str_a_limpiar para insert
'modo_de_limpiar = 1 Prepara str_a_limpiar para insert evitando, ademas, la entrada de HTML
'modo_de_limpiar = 2 Prepara str_a_limpiar para un login y evita sql injection
str = trim(str_a_limpiar)
Select Case modo_de_limpiar
Case 0
str = replace(str,"'","''")
Case 1
str = replace(str,"'","''")
str = replace(str,"<","<")
str = replace(str,">",">")
Case 2
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,"having ","")
str = replace(str,"group by","")
str = replace(str,"union select sum","")
str = replace(str,"union select min","")
str = replace(str,"--","")
str = replace(str,"select ","")
str = replace(str,"insert ","")
str = replace(str,"update ","")
str = replace(str,"delete ","")
str = replace(str,"drop ","")
str = replace(str,"-shutdown","")
Case Else
str = str_a_limpiar
End Select
limpia_cadena = str
end function
ahi sip
Un ejemplo de uso!
Código:
iws_login = checa_cadena(request.Form("iws_login"),0,false)
iws_password = checa_cadena(request.Form("iws_password"),0,false)
if iws_login = false or iws_password = false then termina
iws_login = limpia_cadena(iws_login,2)
iws_password = limpia_cadena(iws_password,2)
Última edición por Muzztein; 29/04/2005 a las 14:11 |