Comunidad de diseño web y desarrollo en internet online

¿Es seguro validar formularios con Javascript?

Citar            
MensajeEscrito el 18 Mar 2014 09:36 pm
Antes de comentar, por favor leer. Bien, soy programador principiante de Javascript y tengo un año aprendiendo PHP con proyectos a base de mis propios errores. Sé validar datos correctamente con PHP, pero me pregunto si es seguro validarlo con Javascript. ¿Por qué? Porque se pueden editar el código Javascript con el navegador, haciendo que se puedan insertar cosas que no son en una base de datos (para poner ejemplo). Ya que podrían convertir cosas en array (poniendo name="algo[]") y así sucesivamente y evadir la seguridad del Javascript. O siemplemente editar las etiquetas <script> del código y listo. Quiero opiniones de gente que sí sepa, así me sentiré seguro. Gracias :)

Por Zerquix18

8 de clabLevel



Genero:Masculino  

Programador web

chrome
Citar            
MensajeEscrito el 18 Mar 2014 10:42 pm
Facil "Jamas supongas".

Ventajas validacion JS:

- Ayudas al usuario a verificar errores
- Evitas estar enviando datos y regresar respuestas (menos carga)
- Es mucho mas amigable y personalizable

Ventajas PHP:

- Puedes validar con muchas funciones, sanitizar y verificar el contenido ingresado. Si algo esta mal regresas un error al usuario.
- Te proteges contra ataques dejar que una variable $_GET o $_POST pase directo es simplemente inconsevible, mas que ataques son pruebas de que tan cerrado dejaste el sistema.

Asi que nop... cualquier validación que quede al lado del usuario es solo como ayuda, jamás se debe suponer que esa validación no será vulnerada.

Ejemplo:
Ingresar un codigo de 10 digitos con 4 letras al inicio.

El JS verifica que sean 10 en caso de que no envia una alerta
EL JS verifica que comiencen con 4 letras en caso de que no envia una alerta
En caso de que no se ingrese un numero, se envia otra alerta
En caso de ser correcto envia el codigo al servidor

El PHP solo captura el codigo
El PHP verifica que sean 10 digitos
El PHP verifica que no haya caracteres ilegales
En caso de que no cumpla alguna solo se envia un mensaje "codigo invalido"


Como ves los dos se complementan, por lo que aunque puedes verificar el codigo con PHP, tendrias que estar consultandolo y gastando recursos del servidor en cosas sencillas como para enviar una alerta de "El codigo deben ser 10 digitos".

Saludos y suerte.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 19 Mar 2014 12:21 pm
No he leído lo que te ha escrito elporfirio (todavía) pero seguro que coincide conmigo: La respuesta es no.

Tú te has respondido solo, JavaScript no es seguro para validar simplemente porque, como has dicho, el código JS está bajo el control del cliente (aunque no lo sepa).

Validar con JavaScript no es más que una ayuda al visitante, jamás es la validación "oficial", eso se hace en el servidor. Lo mismo que haces en el cliente con JS, lo tienes que volver a hacer en el servidor. Nunca te fíes de los datos que te envía el cliente.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Mar 2014 11:50 pm
javascript en formularios es simplemente una prevención para enviar datos al servidor

Por juanvc123

Claber

415 de clabLevel

5 tutoriales

Genero:Masculino  

developer

chrome
Citar            
MensajeEscrito el 23 Mar 2014 02:01 pm
Si trabajas con PHP y JS lo mas recomendable es que valides del lado del cliente con JS y del lado del servidor con PHP, ya que si el usuario viola la seguridad que tu creastes del lado del cliente (JS), esta la seguridad del lado del servidor (PHP), para protegerte de esos datos malintencionados que puedan modificarte algo, o peor aun dañarte tu Base de Datos. yo utilizo JS para validar todo por que uso Node.js, y esta tecnología te permite usar JS del lado del cliente y del lado del servidor :)

Por A&T

3 de clabLevel



 

Estudiar, Programar y aprender!

chrome

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.