Utilizzi le tecniche di convalida sia lato client che lato server durante la convalida dell'input da un utente, ad esempio tramite un modulo di contatto?
Se è così, è davvero necessario? Sei troppo ingegneristico?
Utilizzi le tecniche di convalida sia lato client che lato server durante la convalida dell'input da un utente, ad esempio tramite un modulo di contatto?
Se è così, è davvero necessario? Sei troppo ingegneristico?
Risposte:
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.
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).
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.
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.
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.