【问题标题】:Right security rules for Firebase - Firebase allow public read/write without security warningsFirebase 的正确安全规则 - Firebase 允许在没有安全警告的情况下进行公共读/写
【发布时间】:2020-07-11 19:24:11
【问题描述】:

我正在构建一个应用程序,匿名用户可以在其中从浏览器读取和提供一些数据。我经常收到关于这不安全的警告,并且用户可以清除我的数据库。

目前,在开发中这没问题,因为应用程序不公开,但我想避免安全问题。

我不想让用户为应用程序创建登录。

目前的 Firebase 安全规则

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if 

【问题讨论】:

  • 嗨@Ramakay,如果以下答案有帮助,请考虑对其进行投票并将其标记为已接受。否则,请说明您对原始问题还有哪些其他问题。谢谢!

标签: firebase google-cloud-firestore firebase-security


【解决方案1】:

目前,在开发中这没问题,因为应用程序不公开,但我想避免安全问题。

其实,真的不好。某人所要做的就是猜测您的项目名称(或通过生成随机字符串偶然发现它,类似于猜测密码),他们可以开始用文档填充您的数据库,或删除那里的所有内容。这不会是第一次发生。

如果您想暂时允许在某个目标日期之前完全访问(例如创建新项目时设置的默认安全规则),您可以复制它:

allow read, write: if request.time < timestamp.date(2020, 7, 12);

这将允许在 2020 年 7 月 12 日之前完全访问。

这应该是一个很好的提醒,以便在将来为您的项目设置适当的规则。除了为您的应用的特定需求创建适当的安全规则之外,没有真正的“安全”选项。

【讨论】:

  • 明白了,我最终可能会重新设计它,使其只能访问他们的沙盒区域,这样他们就无法更改其他提交的内容。有什么方法可以在没有 oAuth 流程的情况下快速实现这一目标?临时方法可能行不通,因为明天来访的人没有能力做出贡献。
  • 如果您有新问题,请单独发布并说明您要做什么。
猜你喜欢
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
  • 2020-06-03
  • 2016-10-31
  • 2015-03-25
  • 1970-01-01
相关资源
最近更新 更多