防止使用伪造的有效负载调用 REST API [重复]

问题描述 投票:0回答:1

这是我正在尝试处理的安全问题。我有一个 Nodejs REST Api 和 React 前端。用户登录,服务器发出存储在本地存储中的 JWT 令牌。

现在有一个用户玩的游戏,当游戏结束时,通过在请求正文中传递高分,用 POST api 将高分记录在数据库中。

稍后我的应用程序使用这些高分来向用户颁发奖品,因此涉及金钱。 假设用户是恶意的,他开始了解我的 POST api 结构,他从本地存储中获取令牌,他知道我如何在有效负载中发送高分。他去找邮递员并点击了 api,因为我正在使用 CORS 他得到一个错误。现在他来到浏览器并在我的网站上打开控制台,然后他从那里调用 API,一切正常。他现在拿着高分,不道德的拿奖

有关此特定实施有何问题或如何解决的任何建议。谢谢。

javascript node.js api rest security
1个回答
1
投票

简答:不可能。如果您希望高分确定是防篡改的,您必须在服务器上执行它,而不是在客户端上。另请参阅做预订系统时,最好在哪里做?后端或前端.

更长的答案:你还没有告诉我们游戏本身是如何实现的。除了分数,它会在服务器上留下任何痕迹吗?因为如果您只想将分数存储在服务器上,那么诚实的玩家怎么能向服务器证明他们是按照规则玩游戏而获得分数的呢?答案显然取决于游戏的内容。在不知道游戏规则的情况下,我想不出更好的答案。

© www.soinside.com 2019 - 2024. All rights reserved.