【问题标题】:Restrict Google Firebase access to specific HTTP referrers将 Google Firebase 访问权限限制为特定的 HTTP 引荐来源网址
【发布时间】:2021-02-12 16:02:45
【问题描述】:

我有一个专门用于 Firebase 的 API 密钥,我对其进行了限制,如下所示:

但是,当我从其他网站(在前端)连接到 Firebase 时,它​​仍然可以工作。 我尝试连接 Google 地图,但它不起作用(因为引荐来源错误),但 Firebase 可以。

如何限制 Firebase 对特定网络域的访问?

注意:我没有使用 Firebase 身份验证,我只是将 Firestore 用作数据库。

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-security


    【解决方案1】:

    仔细检查您的域是否接受 HTTP 和 HTTPS,因为两者都需要单独的限制。另外,请尝试添加包含通配符路径的限制。

    这是一个例子:

    https://www.test-domain.com
    https://www.test-domain.com/*
    
    http://www.test-domain.com
    http://www.test-domain.com/*
    

    参考:https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions

    【讨论】:

    • 问题不在于添加限制后它不起作用,而是即使有限制它也可以。换句话说,根本没有安全性,我可以将 HTTP 引荐来源网址设为 google.com,我仍然可以通过我的域访问和使用 firebase。
    • 已经一个星期了,如果你仍然没有得到你需要的答案,我建议联系 Firebase 支持firebase.google.com/support/troubleshooter/contact
    • @butaminas 你有没有找到解决方案?我在与未经身份验证的公共读/写完全相同的情况下,但需要将其限制为仅 1 个域以避免不良行为者!
    • @4ndy 是的,我确实按照 Donnald Cucharo 的建议进行了操作,并联系了 Firebase 支持。事实证明,除了使用 Firestore 规则之外,没有其他方法可以限制 Firestore。换句话说,您应该在系统中的某处使用 Firebase 身份验证,并在允许对 Firestore 数据库进行任何读/写之前验证用户是否使用 Firebase 身份验证登录。仅供参考,这不是我想要的,所以我决定一起转储 Firestore。
    猜你喜欢
    • 2017-12-20
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多