Google cloud firestore 仅通过客户端使用Firestore及其功能是否安全?

Google cloud firestore 仅通过客户端使用Firestore及其功能是否安全?,google-cloud-firestore,firebase-authentication,environment-variables,production-environment,Google Cloud Firestore,Firebase Authentication,Environment Variables,Production Environment,如果我在我的应用程序中使用prod环境变量并为Firestore设置服务器端规则,我的应用程序是否能够完全安全地执行CRUD和身份验证?我问这个问题是因为我一直在看非常著名的YouTube内容创作者(Fireship)的Angular教程,他们不涉及服务器端代码,而且仍然展示如何制作生产应用程序。所有的教程都只使用Angular和一些库来生成应用程序和功能,但是谷歌的控制台说不要公开API键。仅使用客户端变量(即使在生产环境变量中)会公开私钥,对吗 所以简而言之,我应该使用Node对Firest

如果我在我的应用程序中使用prod环境变量并为Firestore设置服务器端规则,我的应用程序是否能够完全安全地执行CRUD和身份验证?我问这个问题是因为我一直在看非常著名的YouTube内容创作者(Fireship)的Angular教程,他们不涉及服务器端代码,而且仍然展示如何制作生产应用程序。所有的教程都只使用Angular和一些库来生成应用程序和功能,但是谷歌的控制台说不要公开API键。仅使用客户端变量(即使在生产环境变量中)会公开私钥,对吗


所以简而言之,我应该使用Node对Firestore进行CRUD和身份验证,还是控制台上的服务器端规则可以安全工作

您在客户端上用于使其直接与Firebase服务通信的配置不包括私有API密钥。在过去的几年里,在各种论坛上已经谈论了很多。您看到的可能标记为API密钥的东西实际上是公共信息。它可以帮助客户端库找到它所针对的项目。要隐藏的API密钥是那些公开直接访问其他付费服务的API密钥,包括Google云服务帐户

您可以使用安全规则限制对Firebase后端服务(云Firestore、实时数据库、云存储)的访问,以确定用户可以或不能对其中存储的数据执行哪些操作。如果你做得不正确,你可能会有问题


您是想让客户机直接访问服务,还是让客户机通过您编写的某些中间件,应该由其他原因决定,如中所述。

嘿,非常感谢您提供了全面的答案。这确实很有帮助,文章通过给出细节进一步澄清了答案。因此,总而言之,如果在平台上正确设置服务器端规则并使用最佳实践,那么仅对CRUD和AUH使用客户端确实是安全的?因为客户端能够看到所有的js是我的应用程序最关心的问题。我不想冒险使用我的应用程序,因为它是一个新启动的应用程序。它尽你的安全规则所允许的安全。客户端应用程序非常常见。请参阅,以及从那里链接的许多问题。