Minha pergunta tem a ver com segurança JavaScript.
Imagine um sistema de autenticação em que você esteja usando uma estrutura JavaScript como Backbone ou AngularJS e precise de pontos de extremidade seguros. Isso não é um problema, pois o servidor sempre tem a última palavra e verifica se você está autorizado a fazer o que deseja.
Mas e se você precisar de um pouco de segurança sem envolver o servidor? Isso é possível?
Por exemplo, digamos que você tenha um sistema de roteamento do lado do cliente e deseje que uma rota concreta seja protegida para usuários logados. Então você faz ping no servidor perguntando se você tem permissão para visitar rotas protegidas e continua. O problema é que, quando você executa ping no servidor, armazena a resposta em uma variável; portanto, na próxima vez em que você for para uma rota privada, ele verificará se você já está logado (sem ping no servidor) e depende na resposta vai ou não.
Quão fácil é para um usuário modificar essa variável e obter acesso?
Meu conhecimento de segurança (e JavaScript) não é bom. Mas se uma variável não está no escopo global e está na parte privada de um padrão de módulo que possui apenas getters, mas não setters, mesmo nesse caso, você pode resolver isso?
manipulate any part of the sight without long lines
site vs sight