【问题标题】:How to check for user permissions without security breaches in javascript?如何在 javascript 中检查没有安全漏洞的用户权限?
【发布时间】:2019-12-04 03:23:51
【问题描述】:

我是 Javascript 的新手,并且一直在使用全局布尔 hasAccessPermissions 来从 API 检索数据以存储用户是否具有管理员权限。 有了这些数据,我只向管理员用户显示屏幕的一些元素。但是,我被告知这是一个安全漏洞,因为非管理员用户可以访问此代码,并且可以通过在本地编辑我的布尔值来查看和更改他所看到的内容。

如何在 JS 中“正确”隐藏用户访问权限的 UI 元素?

【问题讨论】:

  • JS 在浏览器中运行,因此并不安全。您需要在服务器上处理用户访问
  • 我考虑过创建两个相似的网页,一个具有管理功能,另一个完全相同但没有它们。然后在服务器端处理哪个页面将呈现给用户。但这听起来更像是一种解决方法,而不是我的实际解决方案……这就是为什么我决定从社区中寻找替代方案
  • 用户可以查看和修改浏览器中运行的所有内容。例如,您的 hasAccessPermissions 布尔值可以简单地在浏览器控制台中更改。显然我不知道你的架构是什么,所以很难提出建议。如果您使用的是 API,它可以处理用户身份验证/请求吗?这样,即使用户修改 DOM 以显示某些管理按钮,触发的 API 请求也不会执行,除非它们经过身份验证

标签: javascript security


【解决方案1】:

回答我自己的问题,因为已经有一段时间没有答案了。

你没有。用户可以查看和修改 JS 中运行的所有内容,您需要在服务器端处理用户权限。

【讨论】:

    猜你喜欢
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多