在本章中,无涯教程将学习如何保护应用程序的安全以及在开发应用程序时应考虑的因素。
自动发布和自动安全
自动发布是一个程序包,可自动将所有数据从数据库发布到客户端,在生产中应该禁用此便利,可以在命令提示符下禁用它。
C:\Users\username\Desktop\meteorApp>meteor remove autopublish
您可以使用 Meteor.publish()和 Meteor.subscribe()方法向客户端发布一些数据,这些方法将在"发布和订阅"一章中介绍。
不安全是一个软件包,允许在开发人员的控制台中编写MongoDB命令,以便该应用程序的每个用户都可以访问该数据库。可以通过在命令提示符下运行以下命令来删除该软件包。
C:\Users\username\Desktop\meteorApp>meteor remove insecure
优良作法是在开始开发应用程序时立即删除这两个软件包,因此您以后不必更改和更新代码。
使用服务器端方法
您应该始终在服务器上创建方法。您可以通过使用服务器上 Meteor.methods()和客户端上的 Meteor.call()来实现。无涯教程将在"Methods"一章中了解更多信息
额外的安全性
如果您想为应用添加更多安全层,则应考虑使用其他一些Meteor软件包,例如-
浏览器策略(Browser Policy) - 可用于控制外部资源应该会加载到您的应用中。
检查(Check) - 包可用于检查用户输入类型,然后它们已处理。
审核参数检查(Audit Arguments Check) - 是一个可以确保在处理之前正确检查所有参数。如果您错过了一些参数,此软件包将通知您。
Mylar - 软件包可以添加一些附加的安全层。您可以检查出它们是否需要这种保护。