我想知道人们是否以及如何阻止客户端上的数据访问?人们是否关心是否能够使用 Meteor Apps 从 JS 控制台执行插入/更新/删除?
我找到了这个article描述如何限制客户端上的数据库访问,但它已经很旧了,不确定它是否仍然相关。他们将此描述为防止客户端更新数据库的一种方法:
// Relies on underscore.js. In your project directory:
// $ meteor add underscore
Meteor.startup(function() {
var collections = ['collection_name_1', 'collection_name_2'];
_.each(collections, function(collection) {
_.each(['insert', 'update', 'remove'], function(method) {
Meteor.default_server.method_handlers['/' + collection + '/' + method] = function() {};
});
});
});
最佳答案
Meteor 帐户系统自 0.5.0 起已得到扩展。它提供了一个collection.allow
方法,允许您定义访问集合的限制。检查docs .
Meteor 上的insecure
包允许所有客户端编辑数据库中的任何集合。您需要确保meteor remove insecure
,这将默认拒绝所有客户端写入数据库。
parties示例截屏视频详细讨论了这一点。
关于meteor - 保护客户端数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15261946/