代码之家  ›  专栏  ›  技术社区  ›  Dave

移动设备上的FireBase安全[关闭]

  •  -1
  • Dave  · 技术社区  · 8 年前

    我正在考虑将FireBase用于我们使用Unity3D开发的移动游戏。我担心的是,与Web应用程序相反,代码将在客户端上。

    是什么阻止恶意用户打电话给FireBase、破坏我们的帐户限制或更糟地提高我们的账单?

    我知道在很多方面运行自己的服务器更好,但此时我没有足够的资源和知识自己运行它。我也喜欢FireBase的功能,相信Google以我不知道的方式解决了这个问题。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Programmer    8 年前

    像大多数需要API密钥的API(如谷歌地图)一样,您不应该让用户能够直接与他们通信。

    您需要有自己的服务器,并让每个用户创建用户名和密码。用户必须登录到您的服务器才能使用需要付费的FireBase功能。当他们登录到您的服务器时,您的服务器负责发出请求并将请求结果发送回Unity应用程序。Unity应用程序向您的服务器发出请求,您的服务器检查是否已达到此帐户的限制,然后决定发出实际请求并返回结果。

    当您的服务器发出请求时,您将能够对每个帐户实现限制。通过这样做,您还可以对IP地址设置限制,并确保在达到限制时,不会从同一IP创建或使用新帐户来绕过服务器限制。


    编辑 :

    上面的答案仍然适用于许多其他需要API密钥的API。幸运的是,FireBase有一个名为 “FireBase安全规则” 这可能对你的案件有用。你可以用 “FireBase安全规则” 要创建一个速率限制规则,即每次有请求时,您可以检查时间戳,然后使用请求的当前时间更新数据库。通过这个,您可以实现类似于每分钟1个请求的功能。

    有一个简单的例子 here . 还有更复杂和完整的例子 here 也是。

    推荐文章