Imposta la lunghezza massima per l'input

3

Supponiamo che abbia un modulo e che uno degli input di questo modulo imposti la lunghezza massima su 15:

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

Ora l'attaccante vuole ignorare questo limite, per farlo semplicemente spara "Ispeziona elemento", fai clic sull'input, modifica il valore da 15 a 200.

La mia domanda qui, c'è un modo migliore per impostare i caratteri massimi consentiti per i moduli html?

    
posta H Aßdøµ 04.05.2015 - 02:57
fonte

2 risposte

17

Il "modo migliore" è validazione lato server , perché non puoi semplicemente controllare ciò che il cliente invierà. Non importa quale metodo sul lato client utilizzi: <input maxlength= , javascript, what-have-you.

Per citare OWASP :

Note that client side validation is a fine idea for performance and usability, but it has no security benefit whatsoever. Server side checks are required to defend against parameter manipulation attacks.

Vedi anche questa risposta che stabilisce il fai una bella differenza.

    
risposta data 04.05.2015 - 03:07
fonte
4

No. Questo è praticamente il meglio che puoi fare sul client. La chiave è avere una strong validazione dell'input sul server. Tratta sempre tutti gli input come sospetti.

La convalida dell'input sul client serve a migliorare l'esperienza dell'utente. La sicurezza si verifica sul server.

PS: puoi aggiungere la convalida JavaScript, ma non aggiunge alcuna protezione reale perché un utente malintenzionato può ignorare completamente la tua app Web e inviare richieste dannose.

    
risposta data 04.05.2015 - 03:06
fonte

Leggi altre domande sui tag