Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的游戏很容易被黑客右键点击检查。我怎样才能防止这种情况?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 我的游戏很容易被黑客右键点击检查。我怎样才能防止这种情况?

Javascript 我的游戏很容易被黑客右键点击检查。我怎样才能防止这种情况?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我是一个游戏新手,用JS、HTML和CSS语言制作一些网络游戏。但问题是我无法阻止右键点击检查黑客行为,所以有人用这种方法入侵了我的游戏 我的问题是,我怎样才能防止这种方法不被黑客攻击 这是我的游戏 这是分数页 正如你所看到的,它可以被黑客攻击 语言是土耳其语,很抱歉没有用英语,但我会的 第二个问题是,如何改进我的游戏开发?我听说phaser是一个很好的引擎,所以我正在研究一些教程。但是,我也需要你给我一些好的建议 很抱歉我的新手问题,但我确实需要一些好的建议来提高我的网页开发和游戏开发技能。。

我是一个游戏新手,用JS、HTML和CSS语言制作一些网络游戏。但问题是我无法阻止右键点击检查黑客行为,所以有人用这种方法入侵了我的游戏

我的问题是,我怎样才能防止这种方法不被黑客攻击

这是我的游戏

这是分数页 正如你所看到的,它可以被黑客攻击

语言是土耳其语,很抱歉没有用英语,但我会的

第二个问题是,如何改进我的游戏开发?我听说phaser是一个很好的引擎,所以我正在研究一些教程。但是,我也需要你给我一些好的建议

很抱歉我的新手问题,但我确实需要一些好的建议来提高我的网页开发和游戏开发技能。。。非常感谢


注意:游戏是由我从stackoverflow社区学到的东西制作的。。。因此也非常感谢您的支持。

客户端代码HTML、CSS、JavaScript被称为客户端,因为它被下载到客户端并在那里执行。您绝对无法保护此代码不被用户看到并修改其本地副本。即使将JavaScript存储在外部文件中并链接到该文件,也不能解决这个问题。模糊处理也是如此


所有受保护的代码都应该存在于一个安全的服务器上,并在服务器端架构中执行,如.aspx、.PHP、.jsp等。

所以我只是运行了整个游戏并对其进行了黑客攻击。问题是,您使用表单和隐藏输入将游戏结果发送到服务器,首先当用户完成游戏时,您提交他们所用的时间,然后在第二个页面上,您以隐藏输入的形式发送他们的最终分数。用户可以在提交这两个文件之前轻松地对其进行修改

您可以做的是创建一个隐藏值的校验和,您不希望播放器修改这些值。将它们发布到服务器后,使用这些值在PHP中重新计算校验和,如果它与浏览器提交的校验和不匹配,则不要接受它

这不会阻止人们入侵你的游戏,但会让它变得更加困难。如果他们绝对想要伪造分数,他们可以在客户端查找用于生成校验和的javascript函数,并使用该函数生成一个具有他们想要的值的新函数,因此它不是100%安全的


至于最后的分数,我建议你用一节课。您的skor.php文件将生成一个表单,其中的最终分数位于隐藏输入中。为什么?只需将其转储到会话属性中,并在skorislendi.php中读取即可。这样,用户将无法对其进行编辑。

您无法阻止客户端(即玩家)对客户端材料(即客户端脚本、HTML等)进行黑客攻击。。。脚本在客户端执行的任何合法操作都可能是伪造的。充其量,您可以通过混淆JS代码和post数据来缓解这种黑客行为。这使得黑客更难破解,但并不能拯救你


最后,问自己一个问题。安全对我的游戏至关重要吗?如果是,那就担心它。否则,从敏捷的角度出发,尽你所能,在必要时添加安全性等功能。

你不能……那么,我能做些什么来避免这样的事情呢。例如,我应该如何避免右键单击检查和更改内容?我需要像phaser之类的游戏引擎吗?不要相信客户端发送的任何东西,或者接受游戏可能被黑客入侵,或者在其他平台而不是浏览器中编写游戏。其他一切都只是缓解。所以有人用这种方法入侵了我的游戏。不,他们没有。禁用右键单击不会给你的应用程序增加任何安全性。你问题的第二部分是基于意见的,不适合堆栈溢出。如果我使用phaser或其他游戏引擎,人们可以检查我的游戏吗?我应该把代码嵌入NodeJS还是什么?这个答案是正确的,直接解决了我的问题,我该如何防止这个方法不被黑客攻击。。。。正如我所说,您的代码需要在服务器端架构中执行。你使用哪一种取决于许多情况。没有单一的解决方案。因此,我需要在PHP的echo命令中编写所有代码吗?同样,我不能说你需要做的是.PHP——这只是众多服务器端选项之一。但是,是的,用户不能修改.php文件返回给客户端的内容。因此,如果我正确理解您的评论,您是说在记录评分时避免从客户端进行操作是个坏主意吗?我同意这一点。但是我如何在游戏中运行服务器端的怪物呢?这可能吗?使用inspect>modify方法,我的怪物也可以被移除。。。如何在服务器端运行我的内容?谢谢。我不知道你是如何从服务器上运行这些怪物的。但是,我没有
如果我移除怪物,控制台就会出现大量错误。你也许可以捕捉到这些,如果一个怪物的元素被删除了,就用javascript重新添加它。谢谢,我会看看你说了什么。至于运行monsters服务器端,我需要节点JS吗?我从NodeJS知道的是,它是一种类似于客户端的服务器端语言?这是真的吗?那么,它能在处理服务器部件时动态地运行怪物吗?这可能吗?js也是服务器端脚本,但使用javascript而不是php。它非常擅长与客户端保持开放的websocket,因此可以让服务器计算怪物的位置,并通过开放的套接字连接向客户端发送每个怪物的连续坐标流。您还可以将mario的坐标从客户端发送回服务器,并让服务器决定mario何时死亡或游戏何时结束。但这将是对游戏代码的一次重大重写。是的,当我创建另一个游戏时,我想我将使用Node Js方法。。。再次感谢你!所以我学到的是,我不能用php动画我的怪物,所以我不能在没有节点Js的情况下从服务器端运行它是吗?