Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/04/2005, 20:42
Avatar de Neuron_376
Neuron_376
 
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 10 meses
Puntos: 2
Hola!

Las validaciones de JavaScript son solo una herramienta para ahorrarle tiempo al cliente, y al servidor evitar que ejecute una pagina que al final de cuenta te marcara el erro...

Es decir, javascript representa menos carga de trabajo para el servidor y menos tiempo de espera para el usuario.

No puedes confiar en JavaScript para que se encargue de la seguridad de tus paginas, porque:

1. Si el JavaScriopt presenta un error, el usuario pone "No aceptar el error" y la pagina sigue a la siguiente, porque la funcion de validar no funciono correctamente.

2. Cualquiera puede crear una pagina espejo donde le pasa los valores de tu formulario directo a tu ASP sin pasar por la validacion.

3. Siempre quieres asegurar en tu ASP que estas manejando datos correctos.

Entonces, siempre debes validar primero en tu ASP, y luego validar en JavaScript como un favor a tu usuario y a tu server.

Mira, no tengo a la mano la funciones que utilizo, ahorita no tengo acceso pero te las puedo pasar, aqui las pondre para asegurarme de que todo esta bien...

Pero las validaciones generales serian asi:

var = Resquest.X("Var")

1. Asegurar que no esta vacia:

if ( (NOT isEmpty(Var))
AND (NOT isNULL(Varr)) AND (len(trim(Var)) > 0) ) then
Vacia = True

2. Asegurarte que sea del tipo correcto, por ejemplo, si quieres un entero, entonces le dices:
var = Cint(var)

3. Aplicas Trim(Var) y LTrim(Var)

4. Los caracteres que quieres remover especificamente como tu lo mencionasa, y bien, cuando haces un WHILE o FOR para que sea lo mas eficiente posible haces esto:

limit = Ubound(arr)

for i = 0 to limit

Nunca haces esto

for i = 0 to Ubound(arr)

Cuando un whiel, for, etc. tiene un valor ESTATICO desde el principio su eficiencia crece mucho, ademas, si en el valor de finalizar tienes una funcion, esa funcion se ejecutara en cada ITERACION, entonces estas haciendo limit veces la funcion ubound.

Lo mismo pasa con Len(str), etc, cualquier funcion.

Bueno, ese es mi comentario.

PREGUNTA: A que le llaman SQL Inyection, no estoy familiarizado con ese termino