我在 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';
根据当前的安全规则,任何地方的任何人都可以通过访问
https:<your database>.firebaseio.com/.json
来读取整个数据库。鉴于即使在代码示例中也有用户数据,这存在安全风险 - 这就是 Firebase 警告您的内容。
为了确保访问安全,您的规则应仅允许您的代码所需的确切访问权限 - 仅此而已。因此,如果您的代码访问
/myapp/usersinfo
,那么第一步就是只允许对该节点进行读访问,而不允许对其他节点进行读访问。查看有关安全规则的文档以了解更多信息。
通常您可以进一步锁定它。例如,如果您的代码实际上只读取当前用户的数据,您可以实现仅限所有者访问。
正如 Doug 评论的那样,我们无法为您实施所有规则,但重要的是确保您的安全规则仅允许代码所需的最小访问权限。规则允许的任何更多内容都会对您存储的数据带来安全风险。