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



我正在创建一个web应用程序,用户赚取积分使用它(不时)。怎样才能以安全的方式改变用户的积分?

我的第一个解决方案是在主体中使用POST请求,但它很容易被绕过,因为用户可以打开控制台并发送无限个复制请求并获得无限个点数。如果我创建了一个令牌,用户将复制相同的令牌并重用它,直到它失效。

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

的错误连接,它也会被规避。在这种情况下该怎么办?

使用POST请求,并在后端验证请求是真实的(基于被认为是'合理'的评分标准)。

例如,如果用户每30分钟只能获得1个积分,则将用户最后一次获得积分的时间存储在数据库中,然后确保从该时间点(同样是服务器端)起已经过了30分钟。

你也可以用类似的方法检查用户获得的积分值,以确保他们没有获得过多的积分。想要一次一个点?检查他们现有的分数是否等于他们的目标分数加1。

最新更新