如何正确设置安全的 Firebase 规则

问题描述 投票:0回答:1

我在 php 中使用以下代码将记录插入到 Realtime firebase 中,并且工作正常。

// Initialize Firebase Credentials
const URL = 'Firebase URL GOES HERE';
const TOKEN = 'Firebase Access Token';

const PATH = '/myapp/usersinfo';

use Firebase\FirebaseLib;

$firebase = new FirebaseLib(URL, TOKEN);




$data = [
'email' => '[email protected]',
'fullname' => 'Nancy Moree',

];
$tim =  time();


$add = $firebase->set(PATH . '/' . $tim, $data);

现在我需要设置 firebase 规则。

这是我设置的,但 Google 通过电子邮件向我发送了一条消息,称我的 Firebase 规则不安全,它可以允许任何人访问我的整个数据库。

{
  "rules": {
    "myapp": {
      ".read": true,
      ".write": false
    }
  }
}
 

请如何配置安全规则,因为我的 firebase 路径是

const PATH = '/myapp/usersinfo';
php firebase firebase-realtime-database firebase-security
1个回答
0
投票

根据当前的安全规则,任何地方的任何人都可以通过访问

https:<your database>.firebaseio.com/.json
来读取整个数据库。鉴于即使在代码示例中也有用户数据,这存在安全风险 - 这就是 Firebase 警告您的内容。

为了确保访问安全,您的规则应仅允许您的代码所需的确切访问权限 - 仅此而已。因此,如果您的代码访问

/myapp/usersinfo
,那么第一步就是只允许对该节点进行读访问,而不允许对其他节点进行读访问。查看有关安全规则的文档以了解更多信息。

通常您可以进一步锁定它。例如,如果您的代码实际上只读取当前用户的数据,您可以实现仅限所有者访问

正如 Doug 评论的那样,我们无法为您实施所有规则,但重要的是确保您的安全规则仅允许代码所需的最小访问权限。规则允许的任何更多内容都会对您存储的数据带来安全风险。

© www.soinside.com 2019 - 2024. All rights reserved.