Pregunta

¿Cuál es la práctica común de validación de entrada? En otras palabras, se checa para la validación de entrada en el lado del cliente, el servidor o en ambos lados?

Además, si el rendimiento es crucial para mí, sería sólo la validación de la entrada del lado del cliente sea suficiente para mi sitio web sin presentar riesgos de seguridad?

¿Fue útil?

Solución

Siempre realizar al menos validación del lado del servidor. Si desea mejorar la experiencia de los usuarios, la validación del lado del cliente podría ser agradable. También le permite evitar peticiones innecesarias al servidor.

validación del lado del cliente sólo no es suficiente y se puede evitar fácilmente mediante la desactivación de JavaScript, por ejemplo.

Yo le recomendaría que empezar siempre por la adición de la validación del lado del servidor y una vez que hemos probado, se puede activar la validación del lado del cliente.

Otros consejos

no se basan en el lado del cliente VALIDACIÓN !!!
Es sólo existe para el usuario honesto. El usuario deshonesto puede conseguir alrededor de él en ningún momento.

Si Apagué Javascript, que se puede clavar su aplicación a la mierda. Siempre ponga la validación del lado del servidor en ... no es tan difícil

Web Forms

''# VB
If Page.isValid Then
    ''# submit your data
End If

// C#
if(Page.isValid) {
    // submit your data
}

MVC

''# VB
If ModelState.IsValid Then
    ''# submit your data
End If

// C#
if(ModelState.IsValid) {
    // submit your data
}

Una vez que su validación del lado del servidor está funcionando, a continuación, seguir adelante y añadir la validación del lado del cliente. Esto hará que la experiencia mejor para el usuario

Una cosa que recomendaría es el uso de FluentValidation , XVal y JQuery juntos para realizar la validación de cliente y del lado del servidor basado en las mismas reglas .

FluentValidation es un marco basado en reglas que valida .NET objetos en el lado del servidor. Viene con un proveedor de reglas para XVal , que es otro marco que le permite enlazar hasta su elección de servidor secundarios y validación del lado del cliente marcos. Es compatible con la generación de validadores JQuery en el lado del cliente

Generalmente en ambos lados. El único lado del cliente puede ser fácilmente pasado ya sea intencional o inocente (con la prevalencia de noscript), pero vale la pena tener, por razones de usabilidad.

En cuanto a si se presenta un riesgo de seguridad. ¿Qué estás usando la entrada del usuario y lo que es la naturaleza actual de su validación?

Si se acaba de comprobar que alguien ha rellenado los campos obligatorios en una forma que es tal vez poco probable que habría un riesgo de seguridad.

Se requiere para el uso en a fin de validación del lado del servidor, ya que la validación del lado CLIE se puede evitar con bastante facilidad.

Si usted quiere tener un usuario aquél btter, el uso de la validación del lado del cliente también. Esto también aumenta el rendimiento, ya que reduce el número de peticiones HTTP al servidor, porque las formas no válidas no se enviarán hasta el servidor.

Lo más común es usar tanto validación del lado del cliente y el servidor.

  

sería únicamente la validación de la entrada del lado del cliente es suficiente para mi sitio web sin presentar riesgos de seguridad?

No, usted debe utilizar la validación del lado del servidor también. Es bastante sencillo de validación del cliente retirar con (por ejemplo) incendiario. Obviamente después de retirar la validación del lado del cliente malhechor puede enviar los datos al servidor. Así validación del lado del servidor es muy necesario también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top