如果我们已经处理了CSRF攻击,进行了适当的用户输入验证,删除了auto-publish
和insecure
包,那么保护Meteor.js应用程序的最佳实践是什么?
如果我们已经处理了CSRF攻击,进行了适当的用户输入验证,删除了auto-publish
和insecure
包,那么保护Meteor.js应用程序的最佳实践是什么?
您似乎已经完成了大部分工作。
此外:
check
,以确保强制执行数据类型及其结构,使其他内容不能造成损坏。使用audit-argument-checks
包也可以帮助您强制执行严格性。var
关键字在闭包内声明变量(因为变量可能在用户之间跳转)。collection.findOne(xx).yy
,因为这可能会崩溃并透露信息,应先检查文档是否存在)。eval
(我认为这一点足够明显了),特别是在Meteor中,因为像全局作用域变量这样的东西会在eval
中运行,即使来自项目,也可以随时访问(这违反了仓库引擎系统的工作方式)。服务
(在用户集合中),只发布其子集而不设置resume
。 (有时使用第三方登录将更多用户信息公开给客户端,但可能会公开过多信息)。不确定还有其他的,主要的是移除insecure
和autopublish
包以制定自己的规则。
很抱歉它看起来不太好,我不知道如何在每个项目下面放置一个空格。
audit-argument-checks
包来强制使用check
检查方法和发布参数。 - sbking