当不需要站点登录时,是否可以让数据库 (Cloud Firestore) 不安全?

2023-12-10

我正在构建一个游戏Angular并且(有史以来第一次)我尝试添加一个高分表。我已经设置了一个Firebase帐户并获得了Firestore (Beta)数据库正在工作并已连接。

我想要一个非常简单的高分系统。用户不需要登录或创建帐户,您只需打开并玩,然后,如果您获得高分,请输入您的名字,它会被记录并显示在表格中。

所以我的问题是 - 在不需要登录并且只需要基本登录的情况下姓名/分数/时间戳数据已保存,仅保留如下所示的安全规则是否可以接受,或者是否有更好的方法来构建它们?

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

事实上,我收到一条警告,说我的数据库对任何有参考资料的人开放,但这在我的特定情况下真的那么糟糕吗?是否存在我作为数据库新手没有看到的问题?

任何建议都会很棒,因为这对我来说是新的(而且复杂的)领域。

Cheers


我希望我可以在这里使用红色闪烁下划线的文本,但是你绝对不应该让你的数据库保留这个规则集。

任何玩您游戏的人都会看到您的数据库。使用您拥有的规则集,任何人都可以在数据库中读取和写入任何内容(而不仅仅是您的记分板)。您将允许任何人使用您的数据库运行自己的系统,费用将从您的帐户中扣除。

根据您提供的描述,您至少应该:

  • 只允许读取和写入您的记分板集合
  • 验证分数是一个有效值(例如整数并且在一定范围内)
  • 验证名称是否为有效值(有助于防止可能的 XSS 攻击)
  • 验证除以下之外的其他字段score and name被写入文档(因此人们无法隐藏其他有效负载)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当不需要站点登录时,是否可以让数据库 (Cloud Firestore) 不安全? 的相关文章

  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • Firebase - 有没有办法查看有多少人安装了该应用程序?

    Parse 支持安装功能 我不确定 firebase 是否也支持 但在 Google 中挖掘了几个小时后 我无法找到有关如何在 Firebase 中查看 计算用户安装的重要信息 有没有办法计算 Firebase 中的用户安装量 或者甚至还有
  • IOS 应用程序提交导出合规性:Firebase

    我准备将我的应用程序提交到应用程序商店 经过一些研究后 我似乎仍然无法在我的应用程序中找到有关 firebase 的任何信息 Firebase 是否可以豁免 我只用它来进行分析和 Admob 那么 Firebase 是否使用加密 如果使用
  • HTML5 数据库存储(SQL lite) - 几个问题

    你好 我在网上找不到足够的关于 HTML5 数据库存储使用示例 CRUD 的初学者资源 我正在像这样打开 创建 我的数据库 var db document ready function try if window openDatabase
  • 同时使用 GUID 和自动递增整数

    我一直在研究使用 GUID 作为数据库中的主键 到目前为止 利似乎大于弊 然而 我发现 GUID 可能不是我想要的 在我的应用程序中 用户应该能够根据用户友好的 ID 来识别对象 因此 例如 如果他们想要获取特定产品而不输入全名 则可以使用
  • 使用电子邮件、用户名和密码进行 Firebase 身份验证

    我想知道是否可以使用电子邮件和用户 ID 密码登录 我有一个项目 我希望用户添加一个唯一的号码 实际上是我们公司提供的工作识别号码 以便能够签名参与该计划的人员将继续留在公司就业 即使电子邮件和密码正确但用户 ID 错误 我也需要 fire
  • PostgreSQL 中“-”处或附近的语法错误

    我正在尝试运行查询来更新用户密码 alter user dell sys with password Pass 133 但因为 它给了我这样的错误 ERROR syntax error at or near LINE 1 alter use
  • 使用 Android/Firebase 实时数据库时,Single.Create()...blockingGet() 在 RxJava 2.1.3 中挂起

    当使用以下模式从Firebase实时数据库同步获取数据时 String s Single create new SingleOnSubscribe
  • 如何将 Firestore 文档数据转换为类

    在 Firestore 中 有一些文档包含 名称 大陆 等字段及其字符串值 我在主 UI 代码中使用 FutureBuilder 并调用getData 功能 这是我的代码 class DatabaseService final locati
  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • 非常大的字段会对 MySQL 数据库产生负面影响吗?

    我目前正在使用 Django 构建一个网站 并希望托管用户生物样式页面 该页面可能长达几 KB 这些字段不一定需要搜索 但在查找用户名时确实需要提供 将这些数据存储在数据库中会产生负面影响吗 如果我使用带有数据库链接的静态文本文件 我的服务
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • 如何使用 django ORM 在外键字段上连接两个表?

    假设我有以下模型 class Position models Model name models CharField class PositionStats models Model position models ForeignKey P
  • 如何通过 SQL 表关联 SQL 中的实体

    我是数据库设计的初学者 我需要为项目创建数据库 我可以用面向对象的术语解释我想要做什么 值得庆幸的是 数据库专家会很友善地向我解释如何在数据库方面处理这个问题 我想创建一个与位置实体 州 城市 有关系的用户 ID 名称 实体 所以在编程语言
  • rake db:migrate db:reset 和 db:schema:load 之间的区别

    和 之间的不同rake db migrate and rake db reset我很清楚 我不明白的是如何rake db schema load与前两者不同 只是为了确保我在同一页面上 rake db migrate 运行尚未运行的迁移 r
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • AngularFire 访问子元素方法

    我正在寻找一种方法来获取子元素的方法 而不是单独加载该元素 假设我有一个帖子模型 每个帖子都有评论 这就是我获取帖子模型的方式 var post firebase new Firebase FIREBASE URL posts post n
  • 通知设置的数据库设计

    用户可以打开或关闭 他的通知设置 帐户 用于通知 例如 更改帐户资料信息 收到新消息等 通知可以通过电子邮件或手机 推送或短信 发送 用户可以只有 1 封电子邮件和多个手机设备 有什么方法可以改进以下数据库设计或者您会采取不同的方式吗 让我

随机推荐

  • mysqli_begin_transaction()和mysqli_autocommit有什么区别

    Does mysqli begin transaction 实现相同的功能mysqli autocommit mysqli autocommit 永久设置自动提交模式 这意味着如果你将其设置为0 然后提交事务 模式将保持为0 mysqli
  • 如何在android中读取特定联系人的收件箱短信?

    我正在尝试读取来自内容提供商的短信 我有以下代码 Uri uri Uri parse SMS URI INBOX String whereClause address String whereArgs address String proj
  • JavaFX EXCEPTION_ACCESS_VIOLATION

    我对 JavaFX 桌面应用程序有疑问 特别是 3D 渲染功能 每次我尝试构建和启动 JavaFX 应用程序时 JVM 都会崩溃 并且会收到类似于以下错误的错误 A fatal error has been detected by the
  • 找不到要加载的 DSO:libhermes-executor-release.so

    log Time Tag Message 15 56 52 131 SoLoader couldn t find DSO to load libjscexecutor so 15 56 54 275 SoLoader couldn t fi
  • 如何在powershell中向异步作业添加回调函数并获取返回数据

    我一直在互联网上搜索并组合了许多不同的代码片段 但我只是没有成功地为我的异步作业创建回调 我的想法是 我想运行多个作业 并且使用回调方法 我将能够解析不同作业的输出 以更改主脚本中的某些状态和输出 目前我有这个 虽然事件被调用 但我无法获得
  • 找不到 JSP 文件可能是 spring 中的一个错误吗

    我在我的应用程序中遵循了 Spring Boot 的官方文件和包结构 但我仍然收到白标签页面错误 大多数答案和建议都不能解决这个问题 这可能是 Spring Boot 中的一个错误吗 下面是我放置代码的方式以及文件和文件夹的排列结构 应用程
  • 自定义视图,不需要 xml 中的layout_width

    Android SDK有TableLayout容器
  • 仅在使用 iTextSharp 进行生产时出现“文档未打开”错误

    我在 iTextSharp 中收到 文档未打开 错误 但仅限于生产环境 该代码在我的开发机器和暂存中运行良好 我在阶段服务器上的 Temp 文件夹中设置了相同的权限 public static byte ConvertHtmlToPdf s
  • 使用 Java 在多个文本文件中查找并替换一个单词?

    如何使用 Java 在多个文本文件中查找并替换单词 这是我为单个人做的方法String public class ReplaceAll public static void main String args String str We wa
  • Android 导航架构组件 - 获取当前可见片段

    在尝试导航组件之前 我曾经手动执行片段事务并使用片段标签来获取当前片段 val fragment MyFragment supportFragmentManager findFragmentByTag tag MyFragment 现在在我
  • 使用 NHibernate 测试连接参数

    我们有一个程序 用户可以在其中指定他们的数据库连接参数 通常的嫌疑人包括主机 端口 用户名 密码和表名 我们使用 NHibernate 连接到数据库 我们想要做的是能够使用 NHibernate 构建配置 然后在继续其他操作之前测试连接参数
  • Dagger2 和依赖组件中的限定符

    我有一个应用程序组件和一个依赖组件 应用程序组件声明显式依赖项 依赖组件可以注入这些依赖项 但是 当我有一个必须使用 Qualifier 消除歧义的依赖项时 依赖组件无法注入该依赖项 这是应用程序组件 Component modules A
  • java 在子类构造函数中初始化基类字段

    这是一个关于java子类的非常基本的问题 我还是不明白 假设我有一个包含三个字段且仅包含默认构造函数的超类 public class Superclass public int a public int b public int c 我想添
  • get_map 发生了什么?

    我今天开始使用 get map 向 googlemaps 发出大约 230 个地图请求 然后出现错误 丢失了原始错误 我的第一个假设是我使用它超出了 api 的限制 但我尝试使用开放街道地图 api 作为源 我收到的错误消息仍然看起来像 g
  • 使用 Vbscript 将记录批量插入到 Access 中

    我真的对这个感到抓狂 我有一个 vbscript 我正在尝试将几十万条记录插入到 Access 数据库中 显然 如果我一次只执行一个操作 速度会很慢 所以我想我可以通过某种事务批量插入它们 所以我尝试写这个 set rs CreateObj
  • 使用 jOOQ 查找即将到来的生日

    我正在尝试将查找即将到来的生日的现有查询转换为使用 jOOQ 我原来的查询 使用 MySQL 并且有点简化 是 SELECT COUNT FROM people WHERE DATE ADD people dob INTERVAL YEAR
  • 如何在python中编写没有任何分隔符的文本文件?

    我希望在 Python 2 7 中编写一个包含 6 行的简单文本文件 我正在使用这段代码 import csv export open images2 test tfw wb writer csv writer export delimit
  • Django 1 到 Django 2 on_delete 错误

    我相信这个工作流程是为以前的 Django 版本创建的 现在 当我尝试升级它时 添加 on delete 时出现错误 这是我所做的 但它仍然不起作用 我想知道我做错了什么 ORIGINAL class Task AbstractEntity
  • 不要在成员签名中嵌套泛型类型

    我已经获得了一个扩展类 它实现了以下具有违反 CA1006 DoNotNestGenericTypesInMemberSignatures 规则的签名的成员 警告所指的代码包含在下面 我应该如何重构代码来解决 CA1006 警告 请记住 我
  • 当不需要站点登录时,是否可以让数据库 (Cloud Firestore) 不安全?

    我正在构建一个游戏Angular并且 有史以来第一次 我尝试添加一个高分表 我已经设置了一个Firebase帐户并获得了Firestore Beta 数据库正在工作并已连接 我想要一个非常简单的高分系统 用户不需要登录或创建帐户 您只需打开