Javascript 如何在Meteor中限制/修改已发布的集合以获得最大的安全性?
我用的是流星0.8.0 对于一个简单的聊天应用程序,我有一个消息集合Javascript 如何在Meteor中限制/修改已发布的集合以获得最大的安全性?,javascript,mongodb,security,meteor,Javascript,Mongodb,Security,Meteor,我用的是流星0.8.0 对于一个简单的聊天应用程序,我有一个消息集合 用户id 消息文本 时间戳 用户id是指Meteor.users中的用户 在客户端上,我想显示包含用户名的消息列表。 Straithforward解决方案包括发布消息和用户集合,并在客户端执行“加入”。 但是,我不想以任何方式向客户端公开任何用户ID。 我能想到的解决办法是: 修改消息发布,方法是删除用户id(易于使用“字段”)并添加用户名(我发现很难,但Meteor 0.8.0产生了错误,因为它依赖于可能已更改的内部结构
- 用户id
- 消息文本
- 时间戳
在使用Meteor进行了一段时间的实验之后,我的总体感觉是,您很快就会暴露于许多内部信息,当您试图限制这些信息时,它很快就会变得非常乏味。,尽管它并没有提供一种简单的方法来完全实现您想要的。这表明服务器端连接是MDG的优先事项,但可能不是在1.0之前做好准备。但是,发布
userId
s的安全问题是什么?除非Meteor的安全模型中发现了严重的缺陷,否则userId
不足以危害安全性。我只是试图坚持只向客户端透露绝对必要的内容的原则。例如,攻击者可以使用userId
s使用其他已发布的集合挖掘信息,应用程序不打算以这种方式显示这些信息。例如,在“真实世界”应用程序望远镜中,用户可以使用控制台显示用户对其进行了高投票的帖子,而这些信息不在网页上,我假设高投票是匿名的。现在,这是这可能是望远镜的设计缺陷,但我发现很难跟踪在Meteor中发布数据的含义。