Firebase提供数据库后端,使开发人员可以专注于客户端代码。
因此,如果有人获取了我的Firebase URI(例如https://firebaseinstance.firebaseio.com
),然后在本地进行开发。
那么,他们能否创建另一个应用程序,并注册并验证自己以读取我的Firebase应用程序的所有数据?
@Frank van Puffelen,
你提到了网络钓鱼攻击。实际上有一种方法可以防范这种攻击。
如果你登录到GoogleAPI管理器控制台,你有一个选项可以锁定你的应用程序接受请求的HTTP引用方。
这样只允许白名单域使用你的应用程序。
这也在Firebase启动检查清单中描述: https://firebase.google.com/support/guides/launch-checklist
也许Firebase文档可以更加明显地表明这一点,或者默认自动锁定域并要求用户允许访问?
知道您的URL并不构成安全风险。
例如:我告诉您我的银行在bankofamerica.com上托管其网站,使用HTTP协议进行通信,并没有任何问题。除非您还知道我用于访问该站点的凭据,否则了解URL对您没有任何帮助。
要保护数据,必须通过以下方式保护数据库:
这些内容都在Firebase有关安全性和规则的文档中有详细介绍,强烈推荐。
有了这些安全规则,其他人的应用程序访问您的数据库的唯一方式是复制您的应用程序功能,使用户在他们的应用程序而不是您的应用程序中登录/读取/写入您的数据库;基本上是网络钓鱼攻击。在这种情况下,数据库中并不存在安全问题,尽管可能需要寻求当局的帮助。
2021年5月更新:由于新功能称为Firebase App Check,现在实际上可以将对Realtime Database的访问限制为仅允许来自注册在您的Firebase项目中的iOS、Android和Web应用程序的用户。
通常需要结合基于用户身份验证的安全性来使用此功能,以便您有另一个屏障防止滥用您的应用程序的用户。
通过结合应用程序检查和安全规则,您既可以广泛地防范滥用,又可以精细控制每个用户可以访问哪些数据。
https://tinderclone.firebaseio.com/
和 https://tinderclone.firebaseio.com/profiles.json
,它们是真实的Firebase数据库。您能否基于它们开发一个应用程序,创建一个带有电子邮件注册表格和登录表格的应用程序?由于我的应用程序允许任何人使用电子邮件注册,注册后,您能够阅读所有数据吗?稍后我会问您另一个问题。谢谢。 - rattanak“.read”: false
就能防止任何人看到数据。但你可能需要允许更多操作,这取决于你的具体使用情况。有关数据保护的信息可以在Firebase安全与规则文档中找到。 - Frank van PuffelenAndroid 应用 的 SHA1 指纹
iOS 应用 的 App Store ID、Bundle ID 和 Team ID(如有必要)
Web 的域名/ HTTP 引荐来源
。