Usi tecniche di validazione sia lato client che lato server?

10

Utilizzi tecniche di convalida sia lato client che lato server durante la convalida dell'input da un utente, ad es. tramite un modulo di contatto?

Se è così, è davvero necessario? Hai un po 'di ingegneria?

    
posta TeaDrinkingGeek 01.03.2011 - 12:04
fonte

5 risposte

26

Sì, e dovresti.

Ciò mantiene il feedback immediato degli utenti senza postback sprecati, proteggendo inoltre gli utenti che disabilitano JavaScript.

Ecco come funzionano i Controlli di convalida ASP.NET .

Sicuramente non è eccessivamente ingegneristico, poiché l'utilizzo di uno senza l'altro presenta inconvenienti.

    
risposta data 01.03.2011 - 12:07
fonte
6

Uno dei primi fondamenti che ho appreso sulla sicurezza è che gli hacker non useranno mai la tua interfaccia utente.

Qualsiasi convalida lato client può normalmente essere facilmente aggirata nelle app Web se dispongono della propria versione locale del modulo e quindi di inviarlo al server.

La validazione lato client è ottima, tuttavia, per migliorare l'esperienza utente e ridurre i round trip non necessari sul server per eseguire la convalida.

    
risposta data 01.03.2011 - 13:12
fonte
5

If so, is it really necessary?

Sì.

Are you over engineering?

No.

La convalida del front-end può fornire un riscontro immediato se si tratta di un'interfaccia ricca.

Il back-end può essere utilizzato da più front-end. Ed è la convalida solo per il piano di riserva solo HTML (nessun javascript).

    
risposta data 01.03.2011 - 12:23
fonte
2

La convalida del lato server dovrebbe essere il minimo indispensabile.

E per gli input che potrebbero essere sbagliati, dovresti anche aggiungere un controllo lato client ..

Ad esempio: controlla se l'email è formattata correttamente sia sul lato client che sul lato server, ma controllando se è univoca potrebbe essere un controllo lato server.

    
risposta data 01.03.2011 - 12:23
fonte
1

Sì, non è una cattiva idea usare entrambi. Se gli errori di input da parte dell'utente possono essere intercettati dal lato client, allora ha senso dire all'utente tali errori prima di inviare dati e controllare il server. Per esempio se l'utente ha inserito qualcosa che non assomiglia ad un indirizzo email nel campo "email" o ha inserito una stringa di soli 5 caratteri nel campo della password e sai che il tuo sito richiede che la password sia lunga almeno 6 caratteri, quindi dovresti dirlo all'utente prima di inviare qualsiasi cosa al server.

È importante anche duplicare la stessa convalida sul server per 2 motivi: 1) cosa succede se l'utente ha Javascript disabilitato?

2) L'utente ha tentato maliziosamente di ignorare la convalida sul lato client, che è davvero facile.

    
risposta data 01.03.2011 - 16:07
fonte

Leggi altre domande sui tag