我们已经在Azure Blob Storage中上传了具有公共访问权限的图像,在我们的Asp.Net MVC应用程序中,我们已经用这种语法显示了它们:
<img src="https://xxxxx.blob.core.windows.net/image.png"/>
然而,这是一个安全漏洞。未经授权的用户也可以轻松地从浏览器访问所有图像。这就是为什么我们尝试使用共享访问签名URL来处理我们的图像。但我有一些问题;
我们是否应该为每个请求生成此URL以及过期时间?,也许用户每次刷新相同的页面5次,我们应该每次生成不同的URL,这不是性能问题吗?
或者,
我们是否应该为此过期时间生成此URL?但是在这种情况下,如何在到期时间后刷新令牌?,我怎样才能理解令牌无效更多?并且具有较长的到期时间,可以是未经授权的用户仍使用此网址访问图片?,
答案 0 :(得分:3)
我建议采用第一种方法
我们是否应该针对小到期的每个请求生成此网址 时间?,也许用户每次刷新同一页5次,我们应该 每次生成不同的url,这不是性能问题吗?
以下是我的理由:
Read
权限的短期SAS令牌,并将该SAS令牌附加到每个图像URL而不是分别为每个图像创建SAS令牌。这样,您只需为页面上的所有图像创建一次SAS令牌。