我正在使用Firebase为所有数据存储构建iOS应用程序 . 用户创建一个帐户并使用密码和电子邮件登录 . 出于安全原因,我想限制登录,或者至少只限读取和写入访问 . 除非他们使用该应用程序,否则我不希望“任何人”创建帐户和访问数据 .
据我了解,如果他们找到了我的Firebase数据库的URL,则只要他们已登录,任何人都可以访问这些数据 . 这对我来说似乎是一个很大的安全风险 .
我当然实现了安全规则,但是登录的用户仍然可以在不同的位置读取和写入数据库,所以基本上他们可以使用Javascript API连接我的Firebase数据库然后读写?任何人都可以创建用户,只要他们知道我的数据库的URL?
有没有办法防止这种情况,例如在使用电子邮件和密码登录时使用自定义令牌?
1 回答
回答你的一些问题:
您可以使用the $other rule确保没有额外的密钥写入您的Firebase数据库:
但您也可以使用更精细的规则来确保用户只能访问所需的数据 .
要创建用户,您还需要使用您在App Dashboard中指定的有效来源 . 这意味着,不只是拥有您网址的任何人都可以开始创建用户 .