在我的 chrome 网上商店应用程序中禁用检查元素/JavaScript 控制台
Disabling inspect element/javascript console in my chrome webstore app?
我想知道是否可以在清单文件或其他地方指定属性,并在我的应用程序窗口中禁用javascript控制台。禁用javascript控制台将不允许用户简单地给自己钱,他们将被迫正确玩游戏。有谁知道是否可以在应用程序中禁用javascript控制台?它可能会在未来版本的Chrome中出现吗?
开放 Web 或您正在处理的解压缩应用相比,在打包应用中对控制台的访问已经减少。鼠标上下文菜单将无法进入开发人员工具,并且应用程序中不存在chrome菜单。唯一的选项是从chrome:extensions页面或Chrome应用开发者工具。
有动力的用户将有其他几种途径,包括修改客户端的来源。使用 JavaScript 混淆器进行处理会使它稍微困难一些。
如果必须保护游戏逻辑以防止作弊,则需要从验证玩家操作的服务器执行此操作。这也可以脱机工作,通过缓存游戏操作并在可能的情况下发送以进行验证。但是,这在什么时候重要?如果是单人游戏,不多。如果有排行榜,请将它们设为社交排行榜,以便作弊者只会愚弄他们的朋友。如果是完全多人游戏,则必须进行验证。;)永远不要相信客户。
你需要使用闭包,然后你可以保护他们不应该修改的代码部分。
例如,假设你有一个游戏,他们回答一个简单的数学问题来赚钱,当他们有足够的钱时,我们会说1000美元,他们可以买一把枪。 您不想让他们能够向帐户充值,但他们应该能够回答问题来赚钱。 您只需公开getMoney函数,并隐藏其他所有内容,如下所示:
var game = function() {
var money = 0;
var hasGun = false;
var getMoney = function() {
response = prompt("What is 2+2?");
if (response == 4) money += 100;
alert("You have $" + money);
}
var showMoney = function() {
console.log(money);
}
var buyGun = function() {
if (money >= 1000) {
hasGun = true;
money -= 1000;
alert("You bought a gun!")
}
else alert("Not enough money!")
}
//we'll use this to expose methods and variables.
var public =
{
getMoney: getMoney,
buyGun: buyGun,
showMoney: showMoney
}
return public;
}()
game.getMoney();
他们唯一可以从控制台访问您的公开函数的是ask方法和showMoney方法。 获得更多钱的唯一方法是通过 ask 方法进行。 即使他们在控制台中写道:
game.money = 1000;
game.showMoney(); //returns 0;
game.hackForMoney = function() { money = 1000; }
game.hackForMoney();
game.showMoney(); //returns 0;
game.showMoney = function() { return 1000; }
game.buyGun(); //alerts "Not enough money!"
现在有人可以访问控制台,没关系。
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 用于检查数组中是否存在元素的javascript自定义方法
- 检查元素是如何获得焦点的
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 在验证器中添加自定义规则以检查<ul>具有元素
- 如何检查元素是否在iframe中
- 使用 jQuery 检查元素的数量
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 检查元素是否将状态从隐藏更改为可见
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- JS触发器值检查在文档加载后添加到页面的元素在加载时更改AND
- 如何设置第一个子元素's的单选按钮已在轨道上检查4
- 检查元素hasClass是否添加了AJAX
- 如何根据数组中的元素检查字符串
- jQuery根据类中的其他元素检查每个元素
- Javascript合并两个函数,用另一个元素检查节点类型
- 不能得到ajax得到显示在页面,但可以看到在谷歌元素检查器
- 使用inspect元素检查是否修改了代码
- 模拟webkit的元素检查器
- 如何使用元素检查器在网站上运行我自己的事件处理Javascript代码