我有一个简单的 JavaScript 游戏,服务器位于 Node.js 上。对于登录,我使用 JWT token 。一切都运行良好,但我有一个问题。
如果用户更改位置,变量 x 和 y 将发送到 API。这没问题,但用户可以在浏览器网络工具中更改数据并使用其他值重新发送它们。当然,我在服务器端进行了验证,但用户可以使用它来自动更改位置、立即更改等。
我该如何保护它?
在标准应用程序上,我可以从 x 和 y + salt 生成哈希值,但如果我将 salt 传递给浏览器,则用户可以获得它并生成适当的哈希值。
最佳答案
客户端的浏览器由客户端控制。你对此无能为力。但实际上,如果客户改变了球员的位置,那为什么会是坏事呢?每当他采取任何行动时,您都应该将该位置发送到服务器,然后根据之前的位置验证该位置。如果距离太大,请阻止欺诈者。
关于javascript - 浏览器游戏保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906191/