【问题标题】:Unity Firebase SecurityUnity Firebase 安全
【发布时间】:2020-07-02 14:03:45
【问题描述】:

我正在 unity3d 上开发一个应用程序,并使用 firebase 实时数据库获取用户信息和统计信息。用户需要授权(通过谷歌)读取/写入数据到应用程序内的数据库。由于用户不知道嵌入在应用程序中的数据库地址,我还有安全问题吗?如果是,我该怎么办?我不希望任何用户更改自己的统计信息:)

【问题讨论】:

  • “内嵌数据库地址”是什么意思?
  • 用户只能看到app界面,由于数据库是用unity代码(即C#)配置的,所以用户看不到firebase数据库的网址(即INSTANCE-XYZAB.firebaseio.com)。跨度>

标签: unity3d firebase-realtime-database firebase-security


【解决方案1】:

只是您可以访问数据库及其规则。用户只能读写和更改他们的数据,而不能更改其他人的数据。

【讨论】:

    【解决方案2】:

    是的,您仍然可能遇到安全问题。默默无闻的安全不是真正的安全。人们仍然有可能从您的应用程序中窥探网络流量以获取数据库的地址。解决此问题的 firebase 方法是通过在控制台/CLI 中配置的Database Rules。使用户无法更改自己的统计信息将取决于您的应用程序的结构以及允许谁更改它们。无论如何,这也可以用规则来表达。

    【讨论】:

    • 感谢您的回答。如果我还添加了验证步骤,是否仍然如此?例如,对于新数据,如果添加另一个子数据作为关键数据的功能来保护,我可以避免意外的写入操作吗?该功能将在应用程序内被遮挡......我说的对吗?
    • 简单示例:子数据“余额”= 10;子数据 "val" = 2*balance = 20。在写验证中,我可以配置规则来检查是否 val == 2*balance。由于用户不知道计算“val”的函数,他不能更改“balance”值吗?
    • 您所描述的内容听起来像是对数据库规则的正确使用。我不确定您所说的“该功能将在应用程序内被遮挡”是什么意思。如果它存在于部署给用户的代码中,那么它可能并不完全安全。
    猜你喜欢
    • 2020-09-06
    • 2014-08-11
    • 2023-03-12
    • 2011-03-09
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 2021-05-01
    • 2016-06-27
    相关资源
    最近更新 更多