用户是否可以访问我的网页的JavaScript的函数定义?
让我们假设我已经创建了一个简单的游戏,它使用了几个函数,而不是多人游戏。是否可以从浏览器中访问我编写的函数定义?用户是否可以访问我的网页的JavaScript的函数定义?
另外我们可以说,例如,有一个函数具有score
参数,并在用户的分数达到一定数量时向用户发送“you win”消息。是否有可能通过控制台使用用户指定的参数来调用该函数?
如果上述任何一种可能,那我该如何尝试?
是否可以从浏览器中访问我编写的函数定义?
是的。
比方说,有一个功能有一个评分参数,如果他的分数达到一定数量,就会向用户发送一个“你赢”的信息。是否有可能通过控制台使用用户指定的参数来调用该函数?
是的。
如果上述任何一种可能,那么我该如何尝试它们?
如果函数是全局函数,只需键入它的名称即可。
如果它不是全局的,那么在有权访问该函数的作用域中的某个地方设置一个断点,并执行所需的任何操作来触发该断点,然后如上所述。
相关:Prevent Cheating on Javascript Game和What good ways are there to prevent cheating in JavaScript multiplayer games?。
谢谢你的回答和参考资料,它们会非常有帮助。 – VlassisFo
是的,这是可能的。 问题是,你是如何编写代码的。
如果你写的是这样的:
(function(module, window, document, undefined){
module.public = function(){
//code here
}
function private(){
//code here
}
}((window.play = {}), window, document);
您可以(window.)play.public();
窗口访问比分功能。没有必要。 private
功能无法在现场访问module function
。
如果你的代码,喜欢你的:
function public(){
//code here
}
function private(){
//code here
}
两种功能availalbe与public(); private();
。
如何访问代码:
- 打开浏览器的开发者工具。
- 打开选项卡“源”
- 导航到脚本
- 查找所有编写的代码
- 设置断点修改数据,当函数被调用
- ...
如何保护您的代码:
- 可以丑化/运行如下代码https://jscompress.com/
- 使用功能的后端(对于一个小游戏是这样制服)
你试过
@布莱恩我会,但我不知道如何。 – VlassisFo
是的,这是可能的 –