Моє запитання стосується безпеки JavaScript.
Уявіть систему аутентифікації, де ви використовуєте рамку JavaScript, як Backbone або AngularJS , і вам потрібні захищені кінцеві точки. Це не проблема, оскільки сервер завжди має останнє слово і перевірить, чи маєте ви право робити те, що хочете.
Але що робити, якщо вам потрібно трохи безпеки, не залучаючи сервер? Це можливо?
Наприклад, скажіть, що у вас є система маршрутизації на стороні клієнта, і ви хочете, щоб конкретний маршрут був захищений для користувачів, які ввійшли в систему. Тож ви пінг-сервер запитуєте, чи вам дозволяється відвідувати захищені маршрути, і ви продовжуєте рух. Проблема полягає в тому, що під час пінг-сервера ви зберігаєте відповідь у змінній, тому наступного разу, коли ви переходите до приватного маршруту, він перевірить, чи ви вже ввійшли (немає пінг-сервера), і залежно на відповідь він піде чи ні.
Наскільки легко користувачеві змінити цю змінну та отримати доступ?
Мої знання про безпеку (та JavaScript) не великі. Але якщо змінна не знаходиться в глобальному масштабі і знаходиться в приватній частині шаблону модуля, в якому є лише геттери, але не сеттери, навіть у такому випадку ви можете зламати річ?
manipulate any part of the sight without long lines
site vs sight