javascript - Object.defineProperty - 防止用户更改此 JavaScript

标签 javascript security object

我想检查我的网络应用程序中的用户是否是管理员。

  var obj = { admin: false; };

  Object.defineProperty(obj, "admin", {
      writable: false
  });

现在,用户可以进入控制台,然后执行以下操作:

Object.defineProperty(obj, "admin", {
          writable: true
      });

obj.admin = true;

有办法防止这种情况发生吗?如果适用特定条件,是否还有另一种最佳方法来阻止执行部分 JavaScript 代码?我明白,用户无论如何都可以更改代码,所以我有点寻找好的做法。

最佳答案

没有。你无法阻止用户(比如我)在我自己的浏览器上运行我自己的 javascript。您需要在服务器端进行验证、认证和授权。要对请求进行身份验证和授权,您需要使用标准机制,例如 cookie、 token 、API 访问 key 等。

关于javascript - Object.defineProperty - 防止用户更改此 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34351741/

相关文章:

javascript - Action 必须是普通对象。使用自定义中间件进行异步操作 - React Native Redux

javascript - 我正在尝试使用 JSON 存储音乐专辑

java - 当参数超出范围时,如何在另一个类中创建对象?

javascript - 所有参数的总和(有些参数是数组);总和( [1,2,3,4], 50, 10, [10, 20],1 )

javascript - D3.js 图表转换错误

android - 如何使用 android 中 desfire 提供的安全功能?

Laravel 联系表的安全性。需要 SSL 吗?

database - 我可以做些什么来处理网站上用户的不良行为?

C++函数,我可以为对象提供什么默认值?

javascript - 带操作的 redux 调用缩减器