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