Firebase提供数据库后端,以便开发人员可以专注于客户端代码。
因此,如果有人拿了我的firebase uri(例如https://firebaseinstance.firebaseio.com
),则在本地进行开发。
然后,他们能否在我的Firebase实例之外创建另一个应用程序,进行注册并进行身份验证以读取我的Firebase应用程序的所有数据?
Answers:
@弗兰克·范普菲伦,
您提到了网络钓鱼攻击。实际上,有一种方法可以确保这一点。
如果您登录到googleAPI API管理器控制台,则可以选择锁定您的应用将从哪个HTTP引荐来源网址接受请求。
这仅应允许列入白名单的域使用您的应用。
在以下Firebase启动检查清单中也对此进行了描述:https : //firebase.google.com/support/guides/launch-checklist
也许firebase文档可以使其更加可见,或者默认情况下会自动锁定域并要求用户允许访问?
有人知道您的URL的事实并不构成安全风险。
例如:我可以毫不费力地告诉您,我的银行在bankofamerica.com上托管其网站,并且在那里使用HTTP协议。除非您还知道我用于访问该网站的凭据,否则知道URL不会有任何好处。
为了保护您的数据,数据库应受到以下保护:
我强烈建议在《安全性和规则》的Firebase文档中介绍所有这些内容。
有了这些安全规则,其他人的应用程序可以访问您数据库中数据的唯一方法是复制他们的应用程序功能,让用户登录到他们的应用程序而不是您的应用程序并登录/读取/写入您的数据库;本质上是网络钓鱼攻击。在那种情况下,数据库中不存在安全问题,尽管可能需要一些权威人士参与。
https://tinderclone.firebaseio.com/
和https://tinderclone.firebaseio.com/profiles.json
。它们是真正的Firebase数据库。您能开发一个应用程序吗,制作一个注册表格和一个带有电子邮件的登录表格。由于我的应用程序允许任何人通过电子邮件进行注册,因此在您注册后,是否可以读取所有数据?我稍后再问你一个问题。谢谢
对于域名不适用的移动应用程序的Auth白名单,Firebase具有
1)SHA1 fingerprint
适用于Android应用和
2)App Store ID and Bundle ID and Team ID (if necessary)
对于您的iOS应用
您必须在Firebase控制台中进行配置。
有了这种保护,因为验证不只是如果有人有有效的API密钥,身份验证域等,但也就是从我们获得授权的应用和未来domain name/HTTP referrer in case
的网络。
话虽如此,我们不必担心这些API密钥和其他连接参数是否暴露给其他人。
有关更多信息,请https://firebase.google.com/support/guides/launch-checklist