gpt4 book ai didi

azure - 在 Azure Blob 存储的 img 标记中使用共享访问签名 URI

转载 作者:行者123 更新时间:2023-12-01 08:58:21 25 4
gpt4 key购买 nike

我们已将图像上传到具有公共(public)访问权限的 Azure Blob 存储中,并在我们的 Asp.Net MVC 应用程序中以以下语法显示它们:

<img src="https://xxxxx.blob.core.windows.net/image.png"/>

但是,这是一个安全漏洞。因为未经授权的用户也可以轻松访问浏览器中的所有图像。这就是为什么我们尝试对图像使用共享访问签名 Url。但我有一些问题;

我们是否应该为每个过期时间较短的请求生成这个 url?,也许用户每次刷新同一页面 5 次,我们应该每次生成不同的 url,这不是性能问题吗?,

或者,

我们应该生成这个长过期时间的url吗?但是在这种情况下,我如何在过期时间后刷新 token ?我如何理解 token 不再有效?并且过期时间长,未经授权的用户可以仍然可以使用此网址访问图像吗?

最佳答案

我建议采用第一种方法

Should we generate this url for every request with for small expire time?, maybe user refresh same page for 5 times each time, we should generate different url each time, isn't this a performance issue?

这是我的理由:

  • 一旦页面加载时图像显示在浏览器中,我假设您不需要动态重新加载图像,直到用户重新加载页面,因此 SAS URL 已达到其目的。
  • 生成 SAS URL 不涉及对存储的网络调用,因此不会消耗大量性能。但是,如果页面上有 100 个图像,并且所有图像都来自同一个 Blob 容器,那么您可以在具有读取权限的容器上创建一个短期 SAS token ,并将该 SAS token 附加到每个图像 URL,而不是分别为每个图像创建 SAS token 。这样,您只需为页面上的所有图像创建一次 SAS token 。

关于azure - 在 Azure Blob 存储的 img 标记中使用共享访问签名 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com