首页 > 解决方案 > 有没有办法只允许读写规则来自指定的url?

问题描述

我想制定一套规则,它只接受来自指定 URL 的读写。

例如,当某些代码尝试访问我的数据库时,只有当域类似于https://myProject.theHostDomain.com时才会允许它访问它

我查阅了其他人提出的问题,似乎对 Google Firebase 实时数据库安全规则的主题感到困惑。我只能想到一种方法来保护我的数据库,那就是通过网站的域。

也许是这样的:

{
   "rules": {
      ".read": "$url === https://myProject.theHostDomain.com/",
      ".write": "$url === https://myProject.theHostDomain.com/"
   }
}

我想保护我的数据库,因为我的数据库包含用户名、电子邮件、密码和我的用户将拥有的其他私人信息。我希望有一个解决方案,我不必考虑如何保护来自指定 url 的数据库读写规则。是的,我知道他们可以在检查元素中使用控制台,但我可以稍后处理。

标签: javascriptfirebasefirebase-realtime-databasefirebase-security

解决方案


无法限制对源自特定网站或 Internet 位置的 Firebase 资源(实时数据库、Cloud Firestore、Cloud Storage)的访问。一般而言,Web 不利于安全源站验证的报告。有“referer”标头,但很容易被欺骗。

您应该改为使用 Firebase 身份验证来登录用户,然后保护只有该特定用户才能访问的内容。


推荐阅读