我有一些关于为移动应用程序保护firebase数据库的问题。
例如,在反编译Android应用程序后,黑客可以获取firebase api密钥,然后访问firebase数据库,这是正确的吗?
我们假设,我添加了一些安全规则,例如,只有当auth!= null时,应用程序才能在firebase上读取/写入,这意味着身份验证正在保护我的firebase数据库,但这让我问同样的问题,如果我配置facebook / google /甚至firebase电子邮件身份验证我在我的应用程序中需要一些api密钥用于那些提供商,如果黑客能够访问这些密钥,他是否能够在自己的应用程序中使用我的身份验证并获得访问我的firebase数据?
我想了解在Android应用程序中要做什么,以确保只有我的应用程序才能访问firebase数据库。
谢谢。
答案 0 :(得分:3)
反编译Android应用程序后,黑客可以获得firebase api 键然后访问firebase数据库,这是正确的吗?
仅当您的数据库不使用任何限制仅对经过身份验证的用户的访问的安全规则时。
如果我配置facebook / google /甚至firebase电子邮件身份验证 在我的应用程序中,我需要为这些提供程序提供一些api密钥,If 一个黑客可以访问这些密钥,他是否能够使用我的密钥 在他自己的应用程序中进行身份验证并访问我的firebase 数据?
不,它不会那样工作。
每个使用Firebase进行身份验证的用户都会获得一个令牌,用于在用户访问受保护服务(如实时数据库,Firestore或存储)时识别用户。此令牌有效1小时,之后必须刷新,SDK会自动执行。
要让黑客获得对该用户数据的控制权,他们必须获得此令牌,并且他们只需要一个小时就可以使用它。之后,他们必须获得SDK获得的下一个令牌。所有这些都必须发生在用户的设备上。