在 Angular 11 网站上使用 Firestore 和 Firebase 存储进行图像上传功能导致来自 Firebase 的不安全规则通知

Posted

技术标签:

【中文标题】在 Angular 11 网站上使用 Firestore 和 Firebase 存储进行图像上传功能导致来自 Firebase 的不安全规则通知【英文标题】:Using Firestore and Firebase storage for image upload Functionality on Angular 11 website results to insecure rules notification from Firebase 【发布时间】:2021-08-29 07:32:27 【问题描述】:

在某些网站上,我包含一个联系页面,用户可以在其中上传特定图片以及填写将发送给网站商家的联系表格。我使用 Cloud Firestore 和 Firebase 存储,通过发送给网站所有者的动态交易电子邮件模板检索该图像。不应要求客户登录才能使用此服务。换句话说,任何访问该网站的人都应该能够填写表格并自愿上传与联系表格内容相关的图像(在这种情况下,职业申请可能会附有申请人的简历)。但是,我的 Firebase 安全规则必须允许此服务的所有读取和写入操作(允许读取,写入:如果为真;)。

这最近导致 firebase 向我发送一封电子邮件通知,指出我的安全规则不安全。

我的问题是:有没有一种方法可以让所有用户(无论是否经过身份验证)都可以在 Firebase 不将规则识别为不安全的情况下使用此服务?

【问题讨论】:

【参考方案1】:

关于您的问题,我认为没有办法让所有用户(无论是否未经身份验证)都可以使用您的服务,而无需 firebase 提醒您您正在使用的不安全规则。

Firebase 安全规则可保护您的数据免受恶意用户的侵害。显然,您使用的是在开发过程中通常使用的允许开放访问的规则,但是一旦您将其部署为 prod,则应在部署应用程序之前审查和更新这些规则。

正如 firebase 文档中提到的,您的应用和服务可供互联网上的每个人使用,如果您没有对用户进行身份验证和配置安全规则,那么任何猜测您的项目 ID 的人都可以窃取、编辑/修改,甚至删除您的数据。你可以在这里查看文档Firestore Open Access

【讨论】:

以上是关于在 Angular 11 网站上使用 Firestore 和 Firebase 存储进行图像上传功能导致来自 Firebase 的不安全规则通知的主要内容,如果未能解决你的问题,请参考以下文章

发布网站使用 ASP mvc 和 Angular 2

无法使用 IE 11 和 Angular 4 在 ArcgisMap 上拖动

使用 angular 2 的 http rest api

访问 XMLHttpRequest 的问题已被 CORS 策略(Python/Angular)阻止

如何从第三方 api 函数调用/访问 Angular 方法? (将 ApplePay 集成到 Angular 网站中)

在服务器端的 IIS 上使用 PHP 并在客户端使用 Angular 4 时出现 CORS 错误