【发布时间】:2014-02-12 23:31:26
【问题描述】:
假设我们已经处理了 CSRF 攻击、进行了适当的用户输入验证、删除了 auto-publish 和 insecure 包,那么保护 Meteor.js 应用程序的最佳实践是什么?
【问题讨论】:
标签: javascript linux node.js security meteor
假设我们已经处理了 CSRF 攻击、进行了适当的用户输入验证、删除了 auto-publish 和 insecure 包,那么保护 Meteor.js 应用程序的最佳实践是什么?
【问题讨论】:
标签: javascript linux node.js security meteor
您似乎已经完成了大部分工作。
另外:
check,以确保强制执行数据类型及其结构,以免其他任何事情造成损害。使用audit-argument-checks 包也可以帮助您严格执行此操作。var 关键字的情况下在闭包内声明变量(因为变量可能会在用户之间跳转)。collection.findOne(xx).yy(因为这可能会崩溃并泄露信息,您应该先检查文档是否存在)。eval 不在任何地方使用(我认为这一点应该很明显) - 特别是对于meteor,因为在eval 中运行的东西,例如全局范围的变量,即使来自项目,也可以在任何地方访问(这与仓库引擎系统的工作方式背道而驰)。services(在用户集合中)发布给任何客户端,只发布没有resume 集的子部分。 (这有时是通过 3rd 方登录来完成的,以便向客户端公开更多用户信息,但它可能会泄露太多信息。不确定其他的,主要是删除 insecure 和 autopublish 包以制定自己的规则。
抱歉,这看起来不太好,我不知道如何在每个项目下方放置一个空格。
【讨论】:
audit-argument-checks 包以使用 check on 方法强制执行并发布参数。