security - 安全地请求更改用户的受限属性

我正在创建一个 Web 应用程序,用户可以在其中赚取积分(不时)。以安全的方式更改用户拥有的点数的最佳方法是什么?

我的第一个解决方案是对正文中的数据使用 POST 请求,但由于用户可以打开控制台并发送无限复制请求并获得无限积分,因此很容易绕过它。如果我创建了一个令牌,用户将复制相同的令牌并重复使用它,直到它失效。

我的第二个解决方案是创建一个 websocket,当用户保持连接时,他在 X 时间获得 X 点,但由于控制台的错误连接,它也会被规避

在这种情况下该怎么办?

回答1

使用 POST 请求,并在后端验证该请求是真实的(基于被视为“合理”奖励积分的标准)。

例如,如果用户每 30 分钟只能获得 1 分,store 用户最后一次在数据库中获得积分,然后确保自该时间点起已过去 30 分钟(再次,服务器端)。

您还可以通过以类似方式检查他们获得的积分的 value 来确保用户没有获得比应有的更多积分。一次想要一个点?检查他们现有的分数是否等于他们的目标分数加一。

相似文章

最新文章