Как я могу скрыть маршрут от пользователей в Angular2 без возможности манипулирования клиентским кодом и доступа к маршруту?

Я знаю об охранниках и использую их.

Однако защита — это код на стороне клиента, которым пользователь может манипулировать, чтобы он мог в любом случае получить доступ к защищенному маршруту, обходя защиту.

У всего моего приложения Angular2 есть бэкэнд PHP, поэтому я думаю как-то использовать его с AJAX, но не могу найти решение, где они не могут изменить ответ AJAX и получить доступ к защищенному маршруту.

0

Решение

Нет, вы не можете запретить пользователю доступ к части пользовательского интерфейса, а также не запрашивать или отправлять данные с / на произвольные URL-адреса на вашем сервере, а также не проверять сетевой трафик в деталях.

Защита маршрутизации на стороне клиента и проверка разрешений — это в основном задача UX, чтобы предоставить пользователю элементы пользовательского интерфейса только для тех функций, которые ему разрешено выполнять.

Работа серверного приложения заключается в том, чтобы «реально» реализовать защиту данных и запретить доступ для выполнения конфиденциальных функций и доступа к конфиденциальным данным, используя токены аутентификации, роли и разрешения и тому подобное.

В результате, если пользователь получает доступ к защищенному маршруту с помощью ошибки или обмана, компонент этого маршрута будет запрашивать защищенные данные с сервера (эти данные не должны быть включены в компонент angular2) или попытаться выполнить ограниченное действие, но запрос не будет выполнен, поскольку у токена безопасности пользователя недостаточно разрешений.

1

Другие решения

Вы не можете скрыть вызовы ajax, сделанные в браузере. Все популярные браузеры позволяют проверять сетевой трафик.

Насколько я знаю, вы не можете изменить ответ на вызов Ajax, если у вас нет посредника между браузером и сервером. Однако вы не можете остановить пользователя от изменения запросов AJAX.

Они могут делать одинаковые запросы (сделанные браузером) через curl, wget, Postman и т. Д. Итак, если вы хотите иметь ограничения на частный маршрут, сделайте им вход в систему и проверьте учетные данные на стороне сервера.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector