azure - 如何在 img 标记中安全地显示 Azure blob 存储中的图像?

标签 azure next.js azure-blob-storage azure-storage nextjs-image

我的网站中有一个包含图像上传的表单。每当用户上传图像时,它都会保存在具有随机唯一 ID 的新容器下。 在另一个页面中,我想显示该图像。但是通过使用带有 src 属性的标签,对于任何对检查元素有基本了解的好奇用户来说,我会损害图像的位置及其容器名称: https://storageaccountname.blob.core.windows.net/secret-container-name/image.jpg"

如何安全地向用户显示所述图像而不向所有人开放? 我正在使用 NextJS,所以该组件可能有任何帮助吗?

最佳答案

要安全地显示 Azure Blob 存储中的图像,请尝试以下操作:

以下权限必须设置为私有(private),因为内容仅对登录用户可见。

  • 转至 Azure 门户 -> 存储帐户 -> 选择容器 -> 选择容器 -> 将访问级别更改为私有(private),如下所示:

enter image description here

  • 尝试实现Azure Active Directory来授权对 blob 数据的访问。
  • 尝试使用用户委托(delegate)SAS来授予对 blob 数据的有限访问权限。

enter image description here

正如@silent所述,尝试将图像存储在 Blob 存储上,并通过 Front Door 将所有请求传送到 Blob 存储。

欲了解更多详情,请引用以下链接:

Security recommendations for Blob storage - Azure Storage | Microsoft Docs

Azure Storage - Use Blob from Private Container in tag - Stack Overflow

关于azure - 如何在 img 标记中安全地显示 Azure blob 存储中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72182575/

相关文章:

c# - Azure 连接字符串

c# - DownloadText() 和 DownloadTextAsync() 有什么区别?

Azure SAS 连接不适用于 Azure.Storage.Blobs

reactjs - 如何使用 getStaticProps 重定向?

javascript - 如何从 RTK 查询端点访问我的商店?

lucene - 在 Azure 和 Lucene.NET 上构建分布式索引。我应该学习 Solr 和 Hadoop 吗?

asp.net - 本地 IIS 和 Azure/TFS 构建中的 App_Code

azure - 当函数通过 Kudu API 作为 zip 文件上传时,Azure Functions 中的 NuGet 还原不起作用

c# - 如何使用 C# 启动之前停止的 Azure 容器实例?

javascript - NextJS : dynamic router. 路径名不显示路径,但文件名 - 如何获取路径中的单词?