如何只接受来自客户端的请求



我在做自己的项目。VueJS上的一个简单游戏。它在JWT上有定位点。当用户赢/输时,客户端向后端发送相应的请求,以增加数据库中赢/输的数量。

为此制作端点,我意识到我可以使用CORSBUT限制对其他资源的API访问毕竟,用户可以从localStorage获取他的jwt access token,或者在网络选项卡的其他请求中查看它。在同一个选项卡中查看获胜时发送的请求,使用fetch从浏览器控制台发送相同的请求,并使用他之前收到的令牌。这样他就可以在不玩游戏的情况下增加胜利次数。CORS将不会以任何方式阻止此请求,因为头Origin将是相同的。

所以问题是:我的API如何接受我的游戏(axios)发送的请求

不幸的是,这是不可能的。正如您所注意到的,您可以直接从浏览器控制台发送请求。此外,您可以在运行时更改javascript代码,因此您甚至不能信任自己的代码。因此,唯一的解决方案是改变应用程序的工作方式。唯一的真实来源是你的服务器,从那里你可以决定哪个玩家赢或输。每个回合都应该通过发送请求或WebSocket消息向服务器发送信号。当游戏结束时,服务器应该发送消息给你的客户端报告分数。
在单人游戏的情况下,你应该通过发送所有必需的信息来验证玩家在服务器端的得分。

相关内容

  • 没有找到相关文章

最新更新