1

我们有 angularjs 应用程序,其中我们有与用户相关的不同角色。例如:这两个角色是管理员和本地。根据角色,我们为 Admin 显示一些菜单项,并向 Admin 添加更多功能/屏幕。

带有 Admin 属性的 userInfo 从登录响应中返回,并基于我们决定要呈现的所有菜单和屏幕的内容。

但是如果我们使用开发者工具,并在使用 admin 属性的地方设置断点,并将 admin 属性设置为 true,那么即使他是本地用户也可以访问 admin 权限。

简而言之,对javascript代码有一些了解的人可以获得管理员权限。除了缩小代码之外,还有什么想法可以防止这种安全威胁

谢谢

4

1 回答 1

1

由于您的应用程序的前端将在客户端计算机上运行,​​因此实际上无法阻止用户调试或修改代码。因此,不可能防止有人欺骗他们的应用程序的本地实例以认为它是以管理员身份登录的。

如果您只是想隐藏管理界面,一种可能性是为管理员提供单独的(或附加的)模板,并根据用户的权限限制对这些模板的访问。如果有什么可以从中获得什么取决于你。无论如何,您仍然需要验证在服务器上执行任何特权操作的权限。在客户端获得管理权限绝不能与在服务器端获得管理权限相同。

于 2016-11-23T09:37:26.977 回答