gpt4 book ai didi

php - 如何在 javascript 中制作安全游戏?

转载 作者:可可西里 更新时间:2023-10-31 22:40:15 26 4
gpt4 key购买 nike

我正在使用 javascript 一些 html 和 css 开发游戏,我想知道是否有任何方法可以保护游戏,以便用户不能只调用 game.php?result=victory 来完成游戏并获得一些积分。

到目前为止,这是我的解决方案。

  • 对于机会游戏,启动页面结果已经到位,赢了或放松,然后做一些动画来展示它,但所有得分和胜利/松散的东西已经完成服务器端。

  • 对于战斗游戏,只需获取来自 javascript 调用的操作,以及做伤害计算, react 服务器上的对手,只是发回数据。

但最后一个解决方案意味着每次用户执行任何操作时我都必须发送操作。这可能适用于回合制战斗游戏,但我认为这对于任何其他类型的游戏来说都会变慢。所以我的问题是,是否有某种安全的方法可以让我准备 javascript 来保护发送的信息。

最佳答案

确保所有计算和验证发生在服务器端的唯一方法。几乎所有在线游戏都是这样做的。在线通信中永远不能信任客户端,您必须始终在服务器端确保用户确实在做一些有效的事情。 (无论如何在理论上,在实践中你必须在某种程度上信任客户端的延迟补偿并将一些非关键的东西卸载到客户端)。

出于这个原因,javascript 不是一种非常适合开发在线游戏的语言,因为每个 Action 都需要由服务器进行处理和验证。对于其他编程语言,这不是一个大问题,因为您可以使用 TCP/IP 为服务器和客户端构建自己的通信协议(protocol)。但是,对于 javascript 则没有这种可能性,因为您必须依赖 HTTP 协议(protocol)和 XMLHTTPRequest 处理程序,这会导致非常低效的实时客户端-服务器通信。

如您所说,您始终可以在 javascript 中创建界面,但为了安全起见,您仍然需要在服务器端执行大量操作,这对于需要更多面向操作的控制的游戏来说肯定行不通。因此,如果您需要安全性,您几乎只能玩回合制游戏。

关于php - 如何在 javascript 中制作安全游戏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2543881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com