La mia domanda ha a che fare con la sicurezza JavaScript.
Immagina un sistema di autenticazione in cui stai utilizzando un framework JavaScript come Backbone o AngularJS e hai bisogno di endpoint sicuri. Questo non è un problema, poiché il server ha sempre l'ultima parola e controllerà se sei autorizzato a fare quello che vuoi.
E se fosse necessario un po 'di sicurezza senza coinvolgere il server? È possibile?
Ad esempio, supponiamo che tu abbia un sistema di routing sul lato client e desideri che un percorso concreto sia protetto per gli utenti che hanno effettuato l'accesso. Quindi esegui il ping del server chiedendoti se ti è permesso visitare percorsi protetti e vai avanti. Il problema è che quando esegui il ping del server, memorizzi la risposta in una variabile, quindi la prossima volta che vai su una route privata, controllerà che se hai già effettuato l'accesso (nessun ping al server) e a seconda sulla risposta andrà o no.
Quanto è facile per un utente modificare quella variabile e ottenere l'accesso?
La mia conoscenza della sicurezza (e JavaScript) non è eccezionale. Ma se una variabile non è nell'ambito globale ed è nella parte privata di un modello di modulo che ha solo getter ma non setter, anche in quel caso, puoi hackerare la cosa?
manipulate any part of the sight without long lines
site vs sight