我有一个关于 Parse 安全性的问题,希望有人能给我一些指示和建议。
我正在开发一款游戏,用户可以在其中积累一种叫做金币的游戏资源。
为了跟踪每个用户有多少金币,我有一个名为 Resource 的 Parse 类。这个类是公共可读的(通过get,而不是find),但不是公共可写的。
User 类和 Resource 类是双向链接的:User 类中的每个对象都有一个名为 resourceId 的属性,它是objectId
属于用户的 Resource 对象的属性。因此,玩家可以阅读(通过获取)自己的资源以及他朋友的资源;Resource 类中的每个对象都有一个指向 User 类中的用户的指针
在游戏中,用户可以旋转奖品转盘来获得金奖。当用户转动方向盘时,客户端调用云代码函数并传递单个参数,即PFUser.current()
对象。
云代码生成随机数确定奖品,然后将奖品写入Resource类。为了确定要写入哪个 Resource 对象,云代码做了 2 件事:(1)它resourceId
从参数(PFUser.current())
中读取 ,(2)使用 that resourceId
,它获取相关的 Resource 对象,然后检查用户指针是否指向到与参数本身相同的 User 对象(再次,PFUser.current()
)。
所以我的问题是,我的设置是否可以防止有人试图旋转其他用户的奖品轮盘?受感染的客户端设备能否修改PFUser.current()
对象并伪装成另一个用户?有没有更好的方法来实现我想做的事情?