gpt4 book ai didi

ios - Firebase AppCheck 的目的是什么?

转载 作者:行者123 更新时间:2023-12-04 15:57:16 25 4
gpt4 key购买 nike

我想提高我的应用程序的安全性,我正在研究 Firebase App Check 服务,该服务确保向服务器发出的所有请求都来自我的应用程序。
仅在 Firebase 实时数据库中,我设置了以下规则:

"Users": {
"$userId": {
".read": "auth != null && $userId === auth.uid",
".write": "auth != null && $userId === auth.uid",
}
我认为这可以确保请求来自登录到应用程序的用户。
那么 App Check 还能做什么,
该服务是否也阻止越狱或特别 Root 的设备?因为它在网站上说:请求来自真实的、未被篡改的设备。但是介绍中没有任何内容明确提到篡改意味着什么,即使我宁愿确定这似乎合乎逻辑。
那么 AppCheck 如何确保发送到数据库的数据没有损坏?
例如,如果启用数据持久性并且用户关闭应用程序,则更改本地存储的查询并重新启动应用程序。然后在我看来,损坏的请求将由 AppCheck 发送和验证,但它会被修改。如果没有,你能不能详细说明一下这个过程,因为我有点困惑。

最佳答案

如果您只有显示的安全规则,并且不使用 App Check,则任何人都可以从您的应用中获取配置数据,并使用该数据进行 API 调用。这样他们就可以调用 API 来创建用户帐户,并以您可能无法想象的方式调用数据库。
如果您的安全规则捕获了您对数据的所有要求,那么 App Check 确实不会改变恶意用户可以做什么,它只是阻止滥用者的额外层。
但是,在许多情况下,您的应用程序代码所做的与您的安全规则执行的内容之间存在(有时是细微的)差异。在这种情况下,滥用用户可能会运行他们自己的代码并执行与您的代码不同的操作。
例如,您的安全规则不强制任何有关 的内容。什么 可以写入数据。因此,滥用用户可以:

  • 不要在用户配置文件中写入您的代码期望的数据。
  • 在您的代码不期望的用户配置文件中写入完全不同的数据。
  • 将更多数据写入配置文件,然后您的项目将为此付费。

  • 虽然您可以(并且应该)将所有这些关于数据格式和数据大小的要求编码到您的安全规则中,但启用 App Check 是一种快速阻止许多恶意用户的方法。
    在使用 App Check 和安全规则之间,您既可以得到广泛的保护,又可以细粒度地控制谁可以访问数据以及他们可以对数据做什么。

    关于ios - Firebase AppCheck 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67948531/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com