ios - 将图像 URL 从 Firebase 存储存储到数据库是否安全?
问题描述
我是编程和firebase的新手。我正在使用 firebase 构建一个 iOS 应用程序。实际上我想缓存来自 firebase 存储的图像。我正在使用 Kingfisher pod 来帮助我下载和缓存图像,因为.... Firebase 存储似乎没有提供缓存图像方法
使用 kingfisher 下载和缓存的代码如下:
let url = URL(string: "url_of_your_image")
imageView.kf.setImage(with: url)
它需要一个 URL,这就是为什么在用户成功上传到 firebase 存储后,我设法存储存储在 firebase 存储中的图像的 URL。
Firebase 存储中上传图片的 URL 如下所示
它有令牌......
假设它是用户个人资料图片的图像,所以我会在从 firebase 存储中获取后将其存储在设备本地。
这种方法安全吗?
如果我检查,firebase 存储中的每个图像的令牌都是不同的,所以我认为它会没问题
解决方案
Firebase 为 Cloud Storage 生成的下载 URL 为知道该 URL 的任何人提供文件的公开读取权限。但正如您所见,令牌是独一无二的,并且被认为是不可猜测的。一般来说,这意味着某人知道 URL(从而能够读取文件)的唯一方法是与他们共享 URL。
很难就某物是否安全给出一个笼统的答案。这取决于您希望它的安全性,以及您如何存储它。
例如:如果您将其存储在授予每个人完全读取和查询访问权限的数据库中,那么您实际上是授予每个人对所有文件的只读访问权限。如果这正是你想要的,那就太好了。如果这不是您想要的,您将需要定制您的数据库安全规则以满足您的需求。
推荐阅读
- javascript - 如何使用从数据库或变量中查询的模板文字?
- es6-modules - 如何将一个 ES6 模块存储在多个文件中?
- java - 骆驼交换为多部分请求提供空附件
- javascript - JS防止焦点上闪烁的输入边框
- html - 使用 Bootstrap 4 在移动设备上定位导航栏图标?
- react-native - 无法使用导航和多个 StackNavigators 传递参数
- python - python-pptx:处理受密码保护的 PowerPoint 文件
- acumatica - 如何从自定义屏幕将值传递给确认弹出窗口
- haskell - 如何在 Haskell 中使用 State monad 计算列表项?
- python - 如何模拟在“A”类中调用并在“B”类中定义的函数?