如何防止用户在浏览器中操纵/更改变量的值?

How to prevent user for manipulate / change value of variable in browser?

提问人:Bhaumik Surani 提问时间:7/2/2022 更新时间:7/2/2022 访问量:788

问:

有人在我的网站上更改了他们数据的变量值。
下一步,此变量值从 api 调用传递到服务器。

它通过以下步骤更改 chrome 浏览器中的值。
打开 chrome -> 检查元素 -> 源 ->范围

我被进行了所有验证,例如,用户无法使用任何快捷键打开检查元素。

以下是示例代码和我的情况enter image description here

如何防止用户修改变量的值?

JavaScript Google-Chrome 安全 浏览器 数据操作

评论

0赞 Shamoon97 7/2/2022
stackoverflow.com/questions/54704413/....如果我们禁止用户通过任何方式(例如直接打开或快捷键)检查html文档,为什么不呢?
0赞 Bhaumik Surani 7/15/2022
目前我使用 javascript-obfuscator。使用此阻止用户调试 npmjs.com/package/javascript-obfuscator

答:

1赞 Extraterrestrial 7/2/2022 #1

你应该使用关键字。它类似于关键字,但不相同。constlet

通过使用关键字声明,它的值只能由用户读取,不能修改。它不允许通过重新分配来更改其值,并且无法重新声明。const

如果使用关键字 object 和数组声明数据类型,则可以更新删除其属性或项。const

如果尝试重新分配常量变量,则会抛出错误。

let num1 = 1;
const num2 = 1;

console.log(num1);
num1 = 2;
console.log(num1);

console.log(num2);
num2 = 2;
console.log(num2);

评论

0赞 Bhaumik Surani 7/2/2022
它对我不起作用。表单检查元素值已更改
0赞 Extraterrestrial 7/2/2022
如果你想保护你的代码,你不能这样做。但作为替代方案,您可以在控制台或正文中打印一条粗体消息,显示 - 向用户发出警告。但是使用关键字有一定的保护措施const