azure - 如何保护 azure blob 存储 url 不被任何使用开发人员工具的人检索
问题描述
我必须将图像/视频保存在 azure blob 中,然后在我的网站中使用它们。在做了一些研究之后,我发现你必须在 href 标记中包含 blob url,才能从 azure 中检索图像/视频。
然而,任何人都可以打开站点页面并获取该 blob url 并滥用它。该站点还具有用户身份验证,因此只有在登录后用户才能在站点页面上看到该图像/视频。
有没有其他方法可以从 azure 中检索 blob?或者在开发人员工具中公开可见的网址的任何其他解决方案?
我目前正在使用带有 Visual Studio 的 azure 模拟器。
解决方案
不确定问题是否有效,但另一种非常简单的方法可能是
- 将自定义域与您的存储端点一起使用
- 将您的 blob 和容器设为私有
- 使用后端基础设施,生成一个共享访问令牌,该令牌应仅在短时间内有效。
- 使用 SAS 生成 blob url。
如果您需要一起隐藏结构,所有步骤都可以与@rick 回答中提到的功能结合使用。
要理解的一点是视频流需要去浏览器播放器,所以不可能有完美的计划。上面的选项也只会对访问进行时间限制。可能还有其他一些选项,例如服务器发送加密内容的消息层加密,并将在运行时解密您需要有一些自定义播放器功能,这可能会在服务器端产生更高的费用..
如果他有技能和高积极性,即使这也不会成为盗版视频的用户,但会以某种方式使其变得困难,这应该是这里的驱动点。
参考:https ://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1
推荐阅读
- html - 是否有可能拥有智能柔性包装?
- sql - 不使用连接更新表
- java - 如何修复我每次运行时名为 adder 的静态扫描(但我已经更改了大写字母)代码抛出非法启动谁能修改问题
- asp.net-mvc - ABP Suite 似乎正在生成无法编译的代码
- haskell - 对haskell'也许'感到困惑,有人可以帮助我吗?
- javascript - AdMob - 使用一个 AdUnitID 还是多个?
- javascript - 发布时如何在 http 语句中使用 object_id 引用另一个模型?(蒙戈分贝)
- cookies - 如何从代码生成 X-Frame-Option 和 CSP 标头以允许我们网站的 iframe
- listview - 更新 Listview itemsource 清除 Xamarin Forms 中的单选按钮
- java - 更新片段中的 RecyclerView