我想通过不允许控制台用户通过控制台更改变量来防止游戏作弊,有没有办法做到这一点。
最佳答案
最简单的方法是将整个脚本放入 IIFE 中。例如,更改:
var points = 0;
// do stuff with points
至
(() => {
var points = 0;
// do stuff with points
})();
这样,用户从外部更改点
将明显更加困难 - 但won't be completely impossible.
(还要确保不要在窗口上存储任何变量 - 将它们定义在闭包内,就像上面一样)
从根本上来说,所有在用户端执行的代码都是不可信的。确保某些内容合法的唯一方法是在服务器上进行所有验证。
关于javascript - 有没有办法检测控制台用户是否正在更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64034044/