validar desde el cliente o el servidor ????

alisanto

Lanero Regular
29 Nov 2003
91
buenas noches por aca
Estoy programando en PHP y me estoy preocupando por ahora de las validaciones, si bien es cierto este lenguaje se lleva a cabo bajo el lado del servidor pero tambien es cierto q las acciones de validacion se pueden realizar de parte del cliente y es aqui donde uso Javascript pero mi duda es la siguiente es factible realizar las validaciones por parte del cliente con javascript, claro esta no utiizo validaciones para datos realmente críticos como codigos de usuario o passwords pero si campos vacios y fechas no validas por ej

quisiera saber sus opiniones, para este caso como resuelven las validaciones

estare muy agradecido...
 
Eso depende de su arquitectura de software, si de verdad va a hacer una vaina robusta le toca hacer las validaciones en los componentes server side, las validaciones en el browser usando javascript tambien las hacen por razones de eficiencia para que no lo devuelva con una respuesta que se puede antelar hay, entonces la repite.
 
Todas las validaciones se deben hacer en el servidor, no se puede asumir nada acerca del cliente, porque uno puede hasta crear sus propias solicitudes HTTP pasando por encima de cualquier validación hecha en el cliente con, por ejemplo, JavaScript.

Las validaciones en el cliente son simplemente por conveniencia, pero nose puede confiar en ellas
 
Por rendimiento de la aplicación se recomienda que las validaciones basicas se hagan al lado del cliente, esto para evitar el viaje de información y utilizacion de la red para cosas como campos vacios, validaciones de numeros, etc.
 
Yo estoy con swoko. Uno inclusive podría editar el código de la página, desactivar Javascript o cualquier cosa, y así enviar un formulario incorrecto.

Es mejor asegurarse entonces, validando en el servidor.
 
Todo el mundo repitio la misma vaina ... ! .. yo leyendo a ver que de nuevo veia ;) ....

Oigan una anecdota les voy a compartir pero sin burlarse ojo ...

Cuando hice con un grupo una aplicacion j2ee, hace ya ratos sucede que todo funcionaba y la aplicación bien, y yo creia que todo lo tenia super bien, y realizaron en la compañia una certificacion para la aplicacion, impresionados de nuestra propia ignorancia .. y despues de la revicion del arquitecto me llamo a parte, como yo era el director de desarrollo y me dijo:

Oiga pase ese codigo INSERT/DELETE/UPDATE SQL que crea dinamicamente en el browser con javascript, basandose en los inputs del form antes que lo crusifiquen, velvo en una semana, chao me cuenta ;) ...

Despues en la cama pensaba "De razón salio tan rapido esa vaina ..."

Les resumo un poco ... se tardo el doble del tiempo modificar eso, de lo que habiamos demorado hacerla asi como estaba, o más ... en ese momento pense que el software no era para mi, fue una de las etapas mas duras que pase, hay fue donde considere mercadeo, hoteleria como una opción ja ja ... ;)
 
Validaciones contra el cliente con JavaScript y validaciones contra la base de datos en PHP, o incluso si estas desarrollando la aplicacion con una base de datos que soporte procedimientos almacenados, te recomendaria que hicieras algunas validaciones dentro de estos procedimientos, de este modo liberas tiempo de transaccion al servidor de la aplicacion y son mas rapidadas de ejecutar en la base de datos. existen ciertos tipos de validaciones que te recomendaria que no las hicieras desde el cliente y que los desarrolladores incurren mucho en ellas, como por ejemplo validaciones de fechas, ya que son muy faciles de engañar y los formatos pueden ser diferentes a los del servidor.

Dopher
 
yo siempre he pensando que es mejor hacer validaciones al lado del servidor. Las validaciones con javascript no bastan porque uno puedo pasarlas facilmente, si pasa la validacion del servidor pailas jejej, para eso hay que programar bien.
 
bueno compañeros segun los comentarios veo q existen diversas opiniones al respecto, es cierto q existe el problema en el lado del cliente acerca de las validaciones, lo cual hace que no sean confiables pero en mi parecer pueden quedar para fines estéticos dentro del desarrollo de una intranet, me refiero en lo siguiente dado la cantidad de campos de texto por ejemplo dentro de los formularios para tener un acceso rapido para correjir nuestros errores como por ejemplo haciendo uso del focus y un alert, dado que las validaciones por lado del servidor no daría un acceso similar, claro esta las validaciones de todas maneras se volverian a realizar por parte del servidor, es una suerte q sea muy similar el manejo de funcioines entre PHP y JAVASCRIPT pero surge la pregunta se redundaria códigos similares y no iguales claro esta o se estaría haciendo un BUEN SACRIFICIO por un mejor orden y manejo de datos dentro de las validaciones; espero saber sus comentarios acerca de esta opinión.
 
Mejor que sea en los dos, una basica en el cliente para evitar la carga en la red y otra en el server para que no se le tiren la base de datos.
 

Los últimos temas