我想检查我的网络应用程序中的用户是否是管理员。
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/