0

У нас есть приложение angularjs, где у нас разные роли, связанные с пользователями. Например: две роли: Admin и Local. Основываясь на роли, мы показываем некоторые пункты меню для администратора и добавляем дополнительные функции/экран для администратора.как предотвратить отладку клиентов от javascript с помощью инструмента разработчика

Пользовательская информация с атрибутом Admin возвращается из ответа на вход и основана на том, что мы решаем, для отображения всех меню и экранов.

Но если мы используем инструмент разработчика и задаем точку прерывания, в которой используется свойство admin, и установите свойство admin как истинного, пользователь, даже он является локальным пользователем, сможет получить доступ к привилегии администратора.

Вкратце, у кого есть представление о javascript-коде, вы можете получить привилегии администратора. Есть ли какие-либо идеи, кроме минификация кода для предотвращения такого рода угроз безопасности

Благодаря

+2

Вы должны полагаться на serveride, чтобы возвращать правильные пункты меню на основе роли. Никогда не доверяйте клиентам, потому что их всегда можно манипулировать. – matox

ответ

0

В переднем конце вашего приложения будут работать на клиентском компьютере нет фактически никакого способа, чтобы остановить пользователя от отладки или изменения кода. Таким образом, невозможно запретить кому-либо обманывать свой локальный экземпляр приложения, чтобы считать, что он подписан в качестве администратора.

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