我正在学习流星。到目前为止我所理解的是,为了获得Meteor的全栈反应性和延迟补偿的全部好处,我们必须将数据放在线上和数据库无处不在。所以我想知道Meteor开发者是否打算在客户端公开提供一些敏感信息,即使这些信息的修改只能由授权用户完成,并且只能在授权的上下文中完成。我的意思是,我知道应删除autopublish
和insecure
个软件包,定义Meteor.methods()
并设置allow
,deny
个回调以及所有这些。但是,到目前为止我看到的模式是在/lib
文件夹中定义数据库集合,服务器和客户端都可以访问它们。显然,对我的代码感兴趣的人将能够看到我的数据库中的所有集合及其名称,只需查看该/lib
文件夹即可。如果我使用SimpleSchema包为这些集合定义模式,我只是给了窥探者应用程序数据库的完整地图。
当然,通过坚实的方法和允许/拒绝规则,理想情况下,他不应该对这些信息做任何险恶的事情。不过,这种内部信息非常有价值。对于那些对Meteor更有知识和经验的其他开发人员,我采取了哪些方法来缓解这种情况?