用户是否可以访问我的网页javascript的功能定义?

时间:2017-02-09 13:50:20

标签: javascript dom

假设我创建了一个简单的游戏,它使用了多个功能,而不是多人游戏。是否可以从浏览器中访问我编写的函数定义?

另外,让我们说,例如,有一个函数有一个score参数并发送一个"你赢了"如果他的分数达到某个数字,则向用户发送消息。是否可以通过控制台使用用户指定的参数调用该函数?

如果以上任何一种情况都可以,那么我该如何尝试呢?

2 个答案:

答案 0 :(得分:2)

  

是否可以从浏览器中访问我写的函数定义?

  例如,让我们说,有一个函数有一个得分参数,并发送一个"你赢了"如果他的分数达到某个数字,则向用户发送消息。是否可以通过控制台使用用户指定的参数调用该函数?

  

如果以上任何一种情况都可以,那么我该如何尝试呢?

如果该函数是全局函数,只需键入它的名称。

如果它不是全局的,那么在可以访问该函数的作用域中的某处设置断点,执行触发该断点所需的任何操作,然后如上所述。

相关:Prevent Cheating on Javascript GameWhat good ways are there to prevent cheating in JavaScript multiplayer games?

答案 1 :(得分:0)

是的,这是可能的。 问题是,你是如何编写代码的。

如果你这样写:

(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
}

这两个功能都适用于public(); private();

如何访问您的代码:

  1. 打开浏览器的开发者工具。
  2. 打开“来源”标签
  3. 导航到脚本
  4. 查找所有已编写的代码
  5. 设置断点以在调用函数时修改数据
  6. ...
  7. 如何保护您的代码:

    • 您可以uglify / minify您的代码https://jscompress.com/
    • 使用后端功能(对于小游戏来说,这是一种过于强大的功能)
    • Google for JavaScript Security Methods