firebase - Firebase 存储安全规则参数哈希
问题描述
我在一个发生大量图像盗链的行业工作。
为了帮助解决这个问题,在生成图像 URL 时传递哈希是很常见的,它允许验证查询字符串参数的真实性,并允许存储位置执行 IP 限制或使用窗口等操作(在查询字符串参数)
是否可以在 Firebase 存储的安全规则中生成某种类型的散列,该散列可以与秘密一起使用,以确保提供的参数是由受信任的来源生成的?
解决方案
如果你想存储一个哈希,你需要在客户端计算它,但是使用规则很容易验证哈希的正确性!
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();
}
}
推荐阅读
- python - GCN 的 train_test_split 数据
- javascript - 如何在加载内容的外部 html 文件中调试 JS 脚本做主 div - 单页应用程序
- c# - UNITY3D:如何将 NavMesh 代理行走速度设置为 0,但让他向玩家旋转
- python - 我正在尝试将变量作为参数传递给另一个脚本,但它不起作用
- c# - 运行 NuGetRestore 十六进制值 0x007
- sql - 如何使用 SQL 数据库计算 DataGridView 中每一行的总金额
- flutter - 遍历 Firestore 集合中的所有文档,并将这些文档添加到 Flutter 中的另一个集合中
- android - 我想制作一个下载文件背景的应用程序并读取该文件的内容以减小应用程序的大小?
- python - 创建 Pandas 数据透视表而不丢失任何列
- html - 我正在使用 react js,我想让这个 html 代码响应手机上的视图