我可以使用Meteor阻止来自客户端的Mongodb $ set吗?

时间:2016-09-27 22:34:14

标签: mongodb meteor

我需要帮助,不允许访问者在流星应用程序的浏览器控制台中提高分数。

目前,“黑客”可以通过在控制台中输入以下内容来提高他的游戏分数:

Meteor.users.update({_ id:Meteor.userId()},{$ set:{“profile.score”:1000000}})

3 个答案:

答案 0 :(得分:1)

@Vasil Nedyalkov的回答可以被认为是正确的,但我会这样做:

Meteor.users.deny({
  insert() { return true; },
  update() { return true; },
  remove() { return true; },
});

除了像他说的那样删除insecureautopublish

这是一个很好的解释: https://guide.meteor.com/security.html#allow-deny

答案 1 :(得分:0)

您是否删除了“不安全”'并且自动发布'包。请参阅https://www.meteor.com/tutorials/blaze/security-with-methods

答案 2 :(得分:0)

Khai说,

删除'不安全'和'自动发布'包。 并添加

Meteor.users.allow({
   update:function(){
      return false;
   }
})

在服务器端