Ma question concerne la sécurité JavaScript.
Imaginez un système d'authentification utilisant un framework JavaScript tel que Backbone ou AngularJS , et vous avez besoin de points de terminaison sécurisés. Ce n'est pas un problème, car le serveur a toujours le dernier mot et vérifiera si vous êtes autorisé à faire ce que vous voulez.
Mais que faire si vous avez besoin d’un peu de sécurité sans impliquer le serveur? Est-ce possible?
Par exemple, supposons que vous disposiez d'un système de routage côté client et que vous souhaitiez protéger un itinéraire concret pour les utilisateurs connectés. Donc, vous envoyez une requête ping au serveur vous demandant si vous êtes autorisé à visiter des itinéraires protégés et vous poursuivez. Le problème est que lorsque vous envoyez une requête ping au serveur, vous stockez la réponse dans une variable. Ainsi, lors de votre prochain passage sur une route privée, il vérifiera que, si vous êtes déjà connecté (pas de ping vers le serveur), sur la réponse cela ira ou pas.
Est-il facile pour un utilisateur de modifier cette variable et d'obtenir un accès?
Mes connaissances en sécurité (et JavaScript) ne sont pas excellentes. Mais si une variable n’a pas une portée globale et se trouve dans la partie privée d’un modèle de module qui n’a que des accesseurs, mais pas des setters, même dans ce cas, pouvez-vous pirater la chose?
manipulate any part of the sight without long lines
site vs sight