阻止用户在浏览器控制台中更改游戏值

 黄志琴文菱 发布于 2023-02-10 13:26

任何玩家都可以通过浏览器控制台更改纸杯蛋糕的数量轻松欺骗这款游戏.我想知道是否有办法阻止用户这样做.这也发布在github上.

var numberOfCupcakesDisplay = document.getElementById("numberOfCupcakes");
var cupcake = document.getElementById("cupcake");

function updateValues() {
    numberOfCupcakesDisplay.innerHTML = amountOfCupcakes.toString();
    //displays number of cupcakes to screen
    document.getElementById("amountOfToasters").innerHTML = amountOfToasters.toString();
    //displays number of toasters to screen
    document.getElementById("toasterButton").innerHTML = "        " + Math.round(costOfToasters).toString() + " cc";
    //changes cost of toaster every time it is bought by 110%
}

cupcake.addEventListener('webkitAnimationEnd', function(e){
    e.preventDefault();
    this.style.webkitAnimationName = '';
}, false);

function clickCupcake() {
    ++amountOfCupcakes;
    cupcake.style.animation = "shiftCupcake";
    cupcake.style.webkitAnimationName = "shiftCupcake";
}

updateValues();

sachinjain02.. 6

是啊!正如其他答案所述,阻止用户更改浏览器控制台中的值是不可能的.换句话说,您只是问如何编写JS代码,以便用户无法对其进行调试.你可以随时使用一些方法,让想要在游戏中作弊的人生活艰难.

1.批量处理代码.

有关混淆的更多信息,请查看这些链接.

SO:如何混淆Javascript

Jsobfuscate.com

2.不要将游戏的控制值存储在全局变量中.

不要将控制值存储在全局变量中.而是定义一个类并将这些变量作为私有变量,以便用户必须深入挖掘才能找到断点的位置.

3.Minify /压缩你的javascripts.

混淆或多或少也包括缩小.

1 个回答
  • 是啊!正如其他答案所述,阻止用户更改浏览器控制台中的值是不可能的.换句话说,您只是问如何编写JS代码,以便用户无法对其进行调试.你可以随时使用一些方法,让想要在游戏中作弊的人生活艰难.

    1.批量处理代码.

    有关混淆的更多信息,请查看这些链接.

    SO:如何混淆Javascript

    Jsobfuscate.com

    2.不要将游戏的控制值存储在全局变量中.

    不要将控制值存储在全局变量中.而是定义一个类并将这些变量作为私有变量,以便用户必须深入挖掘才能找到断点的位置.

    3.Minify /压缩你的javascripts.

    混淆或多或少也包括缩小.

    2023-02-10 13:30 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有