Semplicemente reiterando la regola più basilare della sicurezza di Internet: non fidarsi mai di nulla da parte del client (ovvero livello di presentazione, ovvero browser, ecc.). Poiché il "livello di presentazione" opera su un sistema esterno (cioè il computer della persona che sta navigando sul tuo sito web) il server / sito web non ha alcun controllo su ciò che accade laggiù, e quindi non può fidarsi di nulla che dice. Di conseguenza, deve ricontrollare tutto da solo. Un esempio dovrebbe aiutare.
Immagina di avere un portale per gli utenti, e c'è un portale di amministrazione che è solo per gli utenti a cui è stata data l'autorizzazione. Il livello di presentazione "impone" questa restrizione di accesso semplicemente non mostrando un collegamento alla sezione di amministrazione se non si è un amministratore. Questo, di per sé, non è un controllo di accesso sufficiente. Il server stesso deve applicare quel controllo di accesso e negare l'accesso al sistema di amministrazione a chiunque non sia un amministratore. In caso contrario, qualsiasi utente può accedere al sistema di amministrazione semplicemente digitando la sua posizione nel proprio browser e ottenere automaticamente l'accesso al sistema di amministrazione. Questo è un semplice esempio, ma anche il più comune:
- Livello di presentazione: non mostrare collegamenti ad aree che l'utente non ha
accesso a
- Lato server: rifiuta una richiesta a un'area che l'utente
non ha accesso a
Se fai solo il primo hai un problema.
Quindi questo è il breve riassunto. Il server non può fidarsi di nulla che il browser dice perché un utente malintenzionato ha il pieno controllo su ciò che dice il browser (in realtà potrebbe non utilizzare nemmeno un browser, ma potrebbe semplicemente fingere di esserlo). Pertanto, il server deve verificare tutto da solo.