javascript - 浏览器游戏保护

标签 javascript node.js

我有一个简单的 JavaScript 游戏,服务器位于 Node.js 上。对于登录,我使用 JWT token 。一切都运行良好,但我有一个问题。

如果用户更改位置,变量 x 和 y 将发送到 API。这没问题,但用户可以在浏览器网络工具中更改数据并使用其他值重新发送它们。当然,我在服务器端进行了验证,但用户可以使用它来自动更改位置、立即更改等。

我该如何保护它?

在标准应用程序上,我可以从 x 和 y + salt 生成哈希值,但如果我将 salt 传递给浏览器,则用户可以获得它并生成适当的哈希值。

最佳答案

客户端的浏览器由客户端控制。你对此无能为力。但实际上,如果客户改变了球员的位置,那为什么会是坏事呢?每当他采取任何行动时,您都应该将该位置发送到服务器,然后根据之前的位置验证该位置。如果距离太大,请阻止欺诈者。

关于javascript - 浏览器游戏保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906191/

相关文章:

javascript - 用于查找 div 内输入的 jQuery 选择器

javascript - 加载滚动中的 float 内容

javascript - 在 Socket.IO 中限制每台计算机/用户连接的套接字

javascript - 在 node.js 中从数据库中获取非英文字符时出现编码问题

node.js - GitLab-CI 和 node.js - 如何启动本地服务器然后运行测试?

javascript - axios "url"参数必须是字符串类型。收到类型未定义错误

javascript - 从 Window.location.hash 创建数组

javascript - 如何使用ajax将 Canvas 数据从javascript发送到django

javascript - JQuery .next() 没有使用选择器选择下一个元素

node.js - 音频文件未完全在语音 channel 中播放