Firebase存储安全规则参数哈希

时间:2018-07-23 11:04:22

标签: firebase firebase-storage firebase-security-rules

我在一个行业中发生大量图像热链接。

为解决此问题,在生成图像URL时传递哈希值非常常见,这可以验证查询字符串参数的真实性,并允许存储位置执行IP限制或使用窗口之类的操作(在querystring参数中提供)

是否有可能在用于Firebase的安全规则中生成某种类型的哈希,该哈希可以与秘密一起使用,以确保所提供的参数是由受信任的源生成的?

2 个答案:

答案 0 :(得分:1)

如果要存储哈希,则需要在客户端进行计算,但是使用“规则”验证哈希的正确性很容易!

rules_version="2"
service firebase.storage {
  match path/{docId} {
    // also available in md5, crc32 and crc32c flavors
    allow read, write: if docId == hashing.sha256(/* stuff */).toBase64();
  }
}

答案 1 :(得分:0)

Firebase的安全规则只能允许/禁止对存储的读取/写入。无法从规则中生成任何东西。

您要描述的内容要求您编写自己的API,以在执行要求的同时提供图像。