Usi tecniche di validazione sia lato client che lato server?


Risposte:


27

Sì, e dovresti.

Ciò mantiene un feedback immediato dell'utente senza postback inutili, proteggendo allo stesso tempo dagli utenti che disabilitano JavaScript.

Ecco come funzionano i controlli di convalida ASP.NET .

Non è certamente un eccesso di ingegneria poiché l'utilizzo dell'uno senza l'altro presenta degli svantaggi.


8
+1. Nessuna scusa per non avere imo validazione lato server.
DBlackborough,

11
Il lato server è necessario, il lato client è comodo. Nelle applicazioni Web non è possibile contare sulla convalida lato client.
BillThor

@BillThor - Sì, è esattamente vero
billy.bob

gli utenti intelligenti possono sicuramente abusare della tua app se non si dispone della convalida lato client
Umair

6

Se è così, è davvero necessario?

Sì.

Sei troppo ingegneristico?

No.

La validazione front-end può fornire un feedback immediato se si tratta di un'interfaccia avanzata.

Il back-end può essere utilizzato da più front-end. Ed è l' unica convalida per il piano di fallback solo HTML (no javascript).


6

Uno dei primi fondamenti che ho appreso sulla sicurezza è stato che gli hacker non useranno mai l'interfaccia utente.

Qualsiasi convalida lato client può normalmente essere facilmente ignorata nelle app Web se hanno la propria versione locale del modulo e quindi inoltrarla nuovamente al server.

La convalida lato client è ottima per migliorare la tua esperienza utente e ridurre inutili viaggi di andata e ritorno sul server per eseguire la convalida.


+1, ho visto molti esempi in cui la convalida è stata fatta interamente sul lato client
Karl

2

La convalida lato server dovrebbe essere il minimo indispensabile.

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

Ad esempio: controlla se l'e-mail è formattata correttamente sia sul lato client che sul lato server, ma verificare che sia univoco potrebbe essere un controllo lato server.


1
"Verifica che non sia necessario" è la verifica NON la convalida, quindi non si applica. Comprendi la differenza.
billy.bob

2
Hai letto anche quello che pubblichi? Verificare che l'email sia unica è una convalida. Chiedere, diciamo, che e-mail e password siano credenziali valide è una verifica. In ogni caso, è solo un problema di terminologia.
Andrea

1

Sì, non è una cattiva idea usare entrambi. Se sul lato client possono essere rilevati semplici errori di input dell'utente, è logico comunicare all'utente tali errori prima di inviare dati e bloccare il server. Ad esempio, se l'utente immette qualcosa che non assomiglia a un indirizzo e-mail nel campo "e-mail" o immette una stringa di soli 5 caratteri nel campo password e sai che il tuo sito richiede che la password sia lunga almeno 6 caratteri, quindi dovresti comunicarlo all'utente prima di inviare qualsiasi cosa al server.

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

2) L'utente ha maliziosamente tentato di aggirare la convalida sul lato client, il che è davvero semplice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.