You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Firebase DB安全规则禁止用户未授权修改prem字段

解决方案

核心逻辑调整

你当前的实现存在本质安全问题:所有前端侧的写数据库逻辑都可以被用户伪造篡改,必须将prem字段的修改逻辑完全迁移到后端,前端不再持有任何修改该字段的权限。

安全规则配置

直接在规则中禁止所有普通用户修改prem节点即可,Firebase Admin SDK(服务账号)默认会绕过所有安全规则,不会受到该规则限制:

{
  "rules": {
    ".read": true,
    "server": {
      "$guildId": {
        "prem": {
          // 禁止所有前端请求修改该节点,仅允许后端服务账号操作
          ".write": false
        },
        "settings": {
          // 普通配置可以按需保留现有读写权限,自行调整即可
          ".write": true
        }
      }
    }
  }
}

具体实现步骤

  • 下线现有前端代码中直接修改prem字段的逻辑,前端仅保留PayPal支付按钮渲染功能
  • 部署后端服务(云函数、自有服务器均可),配置PayPal Webhook监听支付成功事件
  • 创建PayPal订单时将对应Discord服务器ID存入订单自定义字段,支付成功后PayPal会将订单信息推送到你的后端Webhook地址
  • 后端收到回调后首先验证请求签名确实来自PayPal,避免伪造请求,确认支付有效后,通过Firebase Admin SDK初始化数据库连接,将对应服务器的prem字段设置为true
  • 上线上述逻辑后再替换成新的安全规则,即可彻底杜绝用户恶意篡改权限的问题

内容的提问来源于stack exchange,提问作者Conta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:06:02