<分区>
保护 Meteor.js 应用程序的最佳实践是什么,假设我们已经处理了 CSRF 攻击,进行了适当的用户输入验证,删除了 auto-publish
和 insecure
包?
<分区>
保护 Meteor.js 应用程序的最佳实践是什么,假设我们已经处理了 CSRF 攻击,进行了适当的用户输入验证,删除了 auto-publish
和 insecure
包?
最佳答案
您似乎已经完成了大部分工作。
另外:
check
以确保强制执行数据类型及其结构,这样就不会造成任何其他损害。使用 audit-argument-checks
包也可以帮助您严格执行此操作。var
关键字的情况下不要在闭包内声明变量(因为变量可能会在用户之间跳转)。collection.findOne(xx).yy
(因为这可能会崩溃并泄露信息,您应该首先检查文档是否存在)。eval
没有在任何地方使用(我认为一个应该足够明显) - 特别是对于 meteor 因为东西在 eval
中运行,例如全局范围的变量,即使来自一个项目,也可以在任何地方访问(这与仓库引擎系统的工作方式背道而驰)。服务
(在用户集合中),只发布其中的一个子部分而没有设置resume
。 (这有时是通过第 3 方登录完成的,以向客户端公开更多用户信息,但它可能会泄露太多)。不确定其他的,主要的是删除 insecure
和 autopublish
包以制定您自己的规则。
抱歉,这看起来不太好,我不确定如何在每个项目下方放置一个空格。
关于javascript - 保护 Meteor/Node 服务器的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21722463/