Meteor - 安全

在本章中,我们将学习如何保护我们的应用程序以及在开发应用程序时应考虑哪些因素。

Autopublish 和 Autosecure

Autopublish 是一个可自动将所有数据从数据库发布到客户端的包。这是一种便利功能,在生产过程中应将其禁用。可以从命令提示符中禁用它。

C:\Users\username\Desktop\meteorApp>meteor remove autopublish

您可以使用 Meteor.publish()Meteor.subscribe() 方法将一些数据发布到客户端,我们将在发布和订阅章节中介绍这些方法。

Insecure 是一个允许在开发人员控制台中编写 MongoDB 命令的软件包,以便应用程序的每个用户都能够访问数据库。通过在命令提示符中运行以下命令可以删除该包。

C:\Users\username\Desktop\meteorApp>meteor remove insecure

好的做法是,在开始开发应用程序时立即删除这两个包,这样以后就不必更改和更新代码了。

使用服务器端方法

您应该始终在服务器上创建方法。您可以通过在服务器上使用 Meteor.methods() 并在客户端上使用 Meteor.call() 来实现。我们将在方法章节中详细了解这一点。

额外的安全性

如果您想为您的应用添加额外的安全层,您应该考虑使用一些其他 Meteor 包,例如 −

  • Browser Policy 可用于控制应加载到您的应用中的外部资源。

  • Check 包可用于在处理用户输入类型之前检查它们。

  • Audit Arguments Check 是一个包,它将确保在处理之前正确检查所有参数。如果您遗漏了某些参数,此包会通知您。

  • Mylar 包可以添加一些额外的安全层。如果您需要这种保护,可以查看它们。