我在这个问题上的重点是制作 HTML5 游戏。目的是帮助减少/防止作弊。
如果全局范围内的变量保存分数,例如 var score = 0
,那么只需运行 javascript:void(score = 9999999999); 就很容易作弊了;
.
但如果我有更多这样的东西:
(function() {
var score = 0;
// game logic here
})();
score
是否可以被闭包之外的任何东西访问?玩家有没有办法修改它从而伪造他们的积分?
最佳答案
在客户端发生的一切都是“可破解的”,因为您根本无法控制它。防止这种情况的唯一真正方法是使用服务器端验证(例如 AJAX 调用)。
Is score accessible by anything outside the closure?
不,不是。
Is there any way for the player to modify it and thus falsify their points?
是的。请参阅我的第一个陈述。
关于javascript - 在闭包中修改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10028665/