gpt4 book ai didi

Firebase 实时数据库 : What's the right security rule for a landing page?

转载 作者:行者123 更新时间:2023-12-05 04:12:03 25 4
gpt4 key购买 nike

我的着陆页是一个即将推出的页面,其中包含用户的姓名、电子邮件地址等订阅号召性用语。用户无需经过身份验证即可订阅。他可以是访问此页面的任何随机人。我觉得规则应该是“.read”:false,“.write”:true。但谷歌警告我说 write:true 将允许任何人写入数据库,即使是不使用该应用程序的人。

我觉得这很自然,直到我输入验证码之类的东西。如何解决此类问题(订阅中的垃圾邮件预防或即将推出具有表格的页面)?

最佳答案

你可以做些什么来防止仅使用安全规则的滥用(它不会阻止各种垃圾邮件,为此你应该进入验证码和其他解决方案),你可以在 Firebase 上设置电子邮件身份验证并请求电子邮件确认。进入身份验证 > 登录方法 > 启用电子邮件。

当您在数据库中保存用户电子邮件和用户名时,您可以在数据库中创建一个“用户”节点并将其保存在 Firebase 分配给用户的用户 ID 下。

example of user id assigned by Firebase(0TTUf...是Firebase分配的id)

Firebase 将请求密码,因为您不需要用户订阅,您只需要保留他们的电子邮件和密码,只需为所有用户分配一个模拟密码即可。

看起来像这样:

enter image description here

由于您只是为自己捕获电子邮件和姓名,并且不需要对用户进行身份验证,所以我不明白您为什么要授予用户写入或读取权限。只需在程序中执行逻辑即可保存此数据。

那么您的规则将如下所示:

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

在您自行管理数据库时,不允许任何用户读取或写入您的数据库。

Summing it up: Request name and e-mail, assign a password, send this data to Firebase as a new user signing in, save e-mail and name under /users/$user_id

关于Firebase 实时数据库 : What's the right security rule for a landing page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41306342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com