Establezca la longitud máxima para la entrada

3

Supongamos que tengo un formulario, y una de las entradas de este formulario configuro la longitud máxima en 15:

<input type="text" name="username" maxlength="15">

Ahora el atacante quiere anular este límite, para hacer eso simplemente disparará "Inspeccionar elemento", haga clic en la entrada, cambiará el valor de 15 a 200.

Mi pregunta aquí, ¿hay una mejor manera de establecer los caracteres máximos permitidos para los formularios html?

    
pregunta H Aßdøµ 04.05.2015 - 02:57
fuente

2 respuestas

17

La "mejor manera" es validación del lado del servidor , porque simplemente no puedes controlar lo que enviará el cliente. No importa qué método del lado del cliente utilice - <input maxlength= , javascript, lo que tenga usted.

Para citar OWASP :

  

Tenga en cuenta que la validación del lado del cliente es una buena idea para el rendimiento y   usabilidad, pero no tiene ningún beneficio de seguridad en absoluto. Lado del servidor   se requieren controles para defenderse de los ataques de manipulación de parámetros.

Vea también esta respuesta que establece la diferencia muy bien.

    
respondido por el gowenfawr 04.05.2015 - 03:07
fuente
4

No. Eso es lo mejor que puedes hacer con el cliente. La clave es tener una fuerte validación de entrada en el servidor. Siempre trate todas las entradas como sospechosas.

La validación de entrada en el cliente es mejorar la experiencia del usuario. La seguridad pasa en el servidor.

PS: Podría agregar validación de JavaScript pero no agrega seguridad real porque un atacante puede omitir su aplicación web por completo y enviar solicitudes maliciosas.

    
respondido por el Neil Smithline 04.05.2015 - 03:06
fuente

Lea otras preguntas en las etiquetas