首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保护Meteor/Node服务器的最佳实践

保护Meteor/Node服务器的最佳实践
EN

Stack Overflow用户
提问于 2014-02-12 16:30:54
回答 1查看 274关注 0票数 3

假设我们已经处理了CSRF攻击,有适当的用户输入验证,删除了auto-publishinsecure包,那么保护Meteor.js应用程序的最佳实践是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-02-12 16:42:26

你似乎已经做了大部分的事情了。

此外:

请不要忘记在您的Meteor应用程序(支持websockets).

  • Make )前使用SSL确保您的数据库只能由您的meteor应用程序访问(防火墙ip restriction).

  • If如果您有任何Meteor方法,请确保您检查运行这些方法的用户是否具有执行此操作的权限,特别是当您正在更改数据库时。

  • 如果您正在使用非Meteor程序包进行身份验证/用户管理,请确保密码不会存储在您的所有Meteor方法、发布函数、您的允许和拒绝规则可确保强制执行数据类型及其结构,以便不会造成任何其他损坏。使用audit-argument-checks包也可以帮助你严格执行这一点。

  • 确保你的流星服务器的时间是正确的。

  • 在你的服务器端,确保你没有使用var关键字在闭包中声明变量(因为变量可能在用户之间跳转)。

  • 确保你总是处理在服务器上找不到文档的情况(即不要执行collection.findOne(xx).yy (因为这可能会崩溃并泄漏信息,你应该先检查文档是否存在)。

  • 确保eval没有在任何地方使用(我认为这应该足够明显)-特别是对于meteor,因为在eval中运行的东西,比如全局范围变量,即使是来自项目,也可以在任何地方访问(这与仓库引擎系统

  • 向任何客户端发布resume (在users集合中)的方式背道而驰),只有它的一部分没有resume集。(这有时是通过第三方登录来完成的,以向客户端公开更多的用户信息,但它可能透露的信息有点太多)。

不确定是否还有其他规则,主要是删除insecureautopublish包来制定您自己的规则。

对不起,这看起来不是很好,我不知道如何在每个项目下放置一个空间。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21722463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档