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

Firebase实时数据库日历日期安全规则:路径日期匹配当前日期实现

Firebase实时数据库安全规则:路径日期与当前日期匹配校验

你可以直接通过路径中的$year、$month、$day占位符提取日期,结合Firebase规则的内置时间函数完成校验,完全不需要通过JSON Body传递日期。具体实现如下:

修改后的安全规则

"calendar": {
  "$year": {
    "$month": {
      "$day": {
        "$uid": {
          ".write": "auth.uid == $uid && 
                      int($year) == date(now).year && 
                      int($month) == date(now).month && 
                      int($day) == date(now).day"
        }  
      }
    }
  }
},

关键逻辑说明

  • 路径参数转数字:路径中的$year、$month、$day是字符串类型,用int()函数转成数字后才能和日期对象的属性对比。
  • 当前日期获取:date(now)会把当前时间戳(now是毫秒级时间戳)转换成包含year、month、day属性的日期对象,这些属性都是数字类型,且月份从1开始计数(和你路径中的月份格式一致)。
  • 权限组合校验:同时满足用户UID匹配和日期匹配两个条件,才允许写入操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:07:04