用户是否可以访问我的网页的JavaScript的函数定义?

问题描述:

让我们假设我已经创建了一个简单的游戏,它使用了几个函数,而不是多人游戏。是否可以从浏览器中访问我编写的函数定义?用户是否可以访问我的网页的JavaScript的函数定义?

另外我们可以说,例如,有一个函数具有score参数,并在用户的分数达到一定数量时向用户发送“you win”消息。是否有可能通过控制台使用用户指定的参数来调用该函数?

如果上述任何一种可能,那我该如何尝试?

+0

你试过

  • 谷歌的JavaScript安全性的方法? –
  • +0

    @布莱恩我会,但我不知道如何。 – VlassisFo

    +2

    是的,这是可能的 –

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

    是的。

    比方说,有一个功能有一个评分参数,如果他的分数达到一定数量,就会向用户发送一个“你赢”的信息。是否有可能通过控制台使用用户指定的参数来调用该函数?

    是的。

    如果上述任何一种可能,那么我该如何尝试它们?

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

    如果它不是全局的,那么在有权访问该函数的作用域中的某个地方设置一个断点,并执行所需的任何操作来触发该断点,然后如上所述。

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

    +0

    谢谢你的回答和参考资料,它们会非常有帮助。 – 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();

    如何访问代码:

    1. 打开浏览器的开发者工具。
    2. 打开选项卡“源”
    3. 导航到脚本
    4. 查找所有编写的代码
    5. 设置断点修改数据,当函数被调用
    6. ...

    如何保护您的代码:

    • 可以丑化/运行如下代码https://jscompress.com/
    • 使用功能的后端(对于一个小游戏是这样制服)