如何防止用户访问/修改客户端模型/集合?Meteorjs模型/集合可以在客户端访问。安全问题?
回答
正如马特提到的,解决方法已不再需要。然而,作为标准,它似乎需要删除autopublish软件包以确保系统安全。 Meteor文档涵盖确保集合的安全性:http://docs.meteor.com/#meteor_collection
大有前途!看着它。谢谢! – thomasloh
在Meteor 0.5.0及更新版本中,此解决方法不是必需的。 – debergalis
使用allow
和deny
来定义每个客户端允许进行哪些数据库更改。
从文档:
当客户端调用插入,更新或删除集合,集合的允许和拒绝回调被称为服务器上,以确定是否写应该被允许。如果至少有一个允许回调允许写入,并且没有拒绝回调否认写入,则允许写入继续。
这些检查仅在客户端试图直接写入数据库时运行,例如通过调用事件处理程序中的更新。服务器代码是可信的,不受限制和拒绝。这包括使用Meteor.call调用的方法 - 它们需要执行自己的访问检查,而不是依赖允许和拒绝。
您可以随意调用允许次数,每次调用都可以包含插入,更新和删除功能的任意组合。如果他们认为操作应该被允许,函数应该返回true。否则,他们应该返回false,或者根本没有(undefined)。在这种情况下,Meteor将继续搜索收集中的任何其他允许规则。
此外,为了安全读取,只需返回一个游标,其查询在'Meteor.publish'函数内使用'this.userId'。您还需要运行'$ meteor remove autopublish insecure'来关闭将所有数据发布到客户端的初学者选项,并允许来自客户端的大部分更改。 –
今天我学到了,除非你也使用'allow',否则你不能使用'deny'。它被埋在文档中,如下所示:“如果您从不在集合上设置任何允许规则,则所有写入集合的客户端都将被拒绝,并且只能从服务器端代码写入集合。” –
- 1. MeteorJs:可以访问文件系统客户端吗?
- 2. 客户端WCF安全问题
- 3. 客户端安全问题(Javascript)
- 4. 客户端验证安全问题
- 5. MeteorJS mongo收集,客户端和服务器问题
- 6. Linux用户可以访问的git客户端安装后...
- 7. Silverlight客户端访问策略问题
- 8. 骨干集合模型不可访问
- 9. 多个用户可同时访问的线程安全集合
- 10. 是否可以从SQL客户端访问SAS数据集?
- 11. 我可以通过客户端JS访问Notes文档/集合吗?
- 12. 线程安全访问静态集合
- 13. Mongodb:客户端用户认证安全问题
- 14. 访问复合数据客户端
- 15. SVN访问/安全问题
- 16. 可可线程安全的可变集合访问
- 17. 在骨干集合中访问模型
- 18. 客户端的meteorjs全球功能
- 19. 问题上,在客户端
- 20. 厨师客户端安装问题
- 21. 存储twitter访问令牌客户端是否安全?
- 22. 由胖客户端访问的安全SQL Server
- 23. 从WPF客户端访问安全的Web API
- 24. 来自客户端访问API的AJAX请求的安全性
- 25. 客户端对象模型访问自定义用户属性
- 26. 你可以通过asp.net web app访问客户端com端口
- 27. OAuth完全Javascript访问,安全问题?
- 28. WCF强类型集合在客户端
- 29. OAuth身份验证客户端安全问题
- 30. 的Solaris JMS客户端连接到WebLogic11克T3S安全问题
欢迎来到SO!你的问题太泛泛。告诉我们你到目前为止尝试过什么。 – vyegorov
没有办法(我知道)阻止用户访问客户端对象= \ – thomasloh
Meteor 0.5.0添加了“allow”和“deny”,它们完全符合您的需求。 – debergalis