¿Utiliza técnicas de validación del lado del cliente y del lado del servidor?

10

¿Utiliza técnicas de validación tanto del lado del cliente como del lado del servidor al validar la entrada de un usuario, por ejemplo, a través de un formulario de contacto?

Si es así, ¿es realmente necesario? ¿Estás sobre ingeniería?

TéBeberGeek
fuente
Esto es interesante: smashingmagazine.com/2009/07/07/…
TeaDrinkingGeek

Respuestas:

27

Sí, y deberías

Esto mantiene los comentarios instantáneos de los usuarios sin devoluciones desperdiciadas, al tiempo que protege contra los usuarios que deshabilitan JavaScript.

Así es como funcionan los controles de validación ASP.NET .

Ciertamente no es una ingeniería excesiva, ya que usar uno sin el otro tiene inconvenientes.

billy.bob
fuente
8
+1. No hay excusa para no tener la validación del lado del servidor de la OMI.
DBlackborough
11
El lado del servidor es necesario, el lado del cliente es conveniente. En las aplicaciones web no puede contar con la validación del lado del cliente.
BillThor
@BillThor - Sí, eso es exactamente correcto
billy.bob
los usuarios inteligentes definitivamente pueden abusar de su aplicación si no tiene validación del lado del cliente
Umair
6

Si es así, ¿es realmente necesario?

Si.

¿Estás sobre ingeniería?

No.

La validación front-end puede dar retroalimentación inmediata si es una interfaz rica.

El back-end puede ser utilizado por múltiples front-end. Y es la única validación para el plan de reserva de solo HTML (sin javascript).

S.Lott
fuente
6

Uno de los primeros fundamentos que aprendí sobre la seguridad fue que los piratas informáticos nunca usarán su interfaz de usuario.

Cualquier validación del lado del cliente normalmente se puede omitir fácilmente en las aplicaciones web si tienen su propia versión local de su formulario y luego la envían a su servidor.

Sin embargo, la validación del lado del cliente es excelente para mejorar su experiencia de usuario y reducir los viajes de ida y vuelta innecesarios al servidor para realizar la validación.

Bruce McLeod
fuente
+1, he visto muchos ejemplos en los que la validación se realizó por completo en el lado del cliente
Karl
2

La validación del lado del servidor debe ser el mínimo.

Y para la entrada que probablemente sea incorrecta, también debe agregar una verificación del lado del cliente.

Por ejemplo: verifique si el correo electrónico está formateado correctamente tanto en el lado del cliente como del servidor, pero verificar si es único podría ser una verificación del lado del servidor.

Carra
fuente
1
"Verificar que no es un requisito" es verificación NO validación, por lo que esto no se aplica. Comprende la diferencia.
billy.bob
2
¿Incluso leíste lo que publicas? Verificar que el correo electrónico es único es validación. Verificar, por ejemplo, que el correo electrónico y la contraseña son credenciales válidas es verificación. En cualquier caso, es solo un problema de terminología.
Andrea
1

Sí, no es una mala idea usar ambos. Si se pueden detectar simples errores de entrada del usuario en el lado del cliente, entonces tiene sentido informarle al usuario sobre esos errores antes de enviar datos y bloquear su servidor. Por ejemplo, si el usuario ingresó algo que no se parece a una dirección de correo electrónico en el campo 'correo electrónico' o ingresó una cadena de solo 5 caracteres en el campo de contraseña y sabe que su sitio requiere que la contraseña tenga al menos 6 caracteres, entonces debe informar al usuario al respecto antes de enviar algo al servidor.

También es importante duplicar exactamente la misma validación en el servidor por 2 razones: 1) ¿qué pasa si el usuario tiene Javascript deshabilitado?

2) El usuario intentó maliciosamente evitar su validación del lado del cliente, lo cual es realmente fácil.

Dmitri
fuente