首页 > 解决方案 > Firebase 存储安全规则参数哈希

问题描述

我在一个发生大量图像盗链的行业工作。

为了帮助解决这个问题,在生成图像 URL 时传递哈希是很常见的,它允许验证查询字符串参数的真实性,并允许存储位置执行 IP 限制或使用窗口等操作(在查询字符串参数)

是否可以在 Firebase 存储的安全规则中生成某种类型的散列,该散列可以与秘密一起使用,以确保提供的参数是由受信任的来源生成的?

标签: firebasefirebase-storagefirebase-security

解决方案


如果你想存储一个哈希,你需要在客户端计算它,但是使用规则很容易验证哈希的正确性!

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();
  }
}

推荐阅读