Moje pytanie dotyczy bezpieczeństwa JavaScript.
Wyobraź sobie system uwierzytelniania, w którym używasz środowiska JavaScript, takiego jak Backbone lub AngularJS , i potrzebujesz bezpiecznych punktów końcowych. To nie jest problem, ponieważ serwer zawsze ma ostatnie słowo i sprawdzi, czy masz uprawnienia do robienia tego, co chcesz.
Ale co, jeśli potrzebujesz trochę bezpieczeństwa bez angażowania serwera? Czy to jest możliwe?
Załóżmy na przykład, że masz system routingu po stronie klienta i chcesz chronić konkretną trasę dla zalogowanych użytkowników. Pingujesz więc serwer, pytając, czy możesz odwiedzić chronione trasy i kontynuujesz. Problem polega na tym, że podczas pingowania na serwer zapisujesz odpowiedź w zmiennej, więc przy następnym przejściu na prywatną trasę sprawdzi, czy jesteś już zalogowany (brak pingowania na serwer) i zależnie po odpowiedzi pójdzie, czy nie.
Jak łatwo jest zmodyfikować tę zmienną i uzyskać dostęp?
Moja wiedza na temat bezpieczeństwa (i JavaScript) nie jest dobra. Ale jeśli zmienna nie ma zasięgu globalnego i znajduje się w prywatnej części wzorca modułu, który ma tylko metody pobierające, ale nie ustawiające, nawet w takim przypadku, czy możesz to zhakować?
manipulate any part of the sight without long lines
strona vs widok