10

我对使用 Azure Blob 存储的担忧之一是热链接。

将静态内容(图像、视频、音频、大型 JS 和 CSS 文件等)放在公共容器中似乎是个好主意,但是没有什么能阻止其他网站链接这些内容并在他们的网站中使用它。因此,一些网站管理员在他们的网站上使用我的内容,会让我花钱。

一种常见的防盗链保护措施是通过RefererHTTP 标头进行过滤。这如何在 Microsoft Azure Blob 存储中实现?

显然,在 Amazon S3 中是可能的

我知道这对谷歌图片搜索不利,因为它无法显示我的照片,但是……我可以忍受。

干杯。

4

2 回答 2

4

Windows Azure 不支持像在 Amazon S3 中那样向 Blob 存储添加逻辑。但是对于这种特定情况,您通常会使用SAS (Shared Access Signatures)

您需要将容器更改为私有访问。这意味着只有当您拥有两个密钥之一或拥有 SAS 时才能访问文件。因此,通常它会是您的 Web 服务器生成 SAS 并将其应用于图像的 URL。通过使用 SAS 签名,您可以允许在特定时间(例如 10 分钟)内访问文件,这将防止盗链。

带有 SAS 的文件的 url 如下所示:

https://storageaccountname.blob.core.windows.net/container/path/image.jpg?sv=2012-02-12&se=2012-11-19T19%3A25%3A32Z&sr=b&sp=r&sig=s6QIdwAGY4xC8fs4L9pK8hAGIY%2F8x58aqBcFbejYPdM%3D

于 2012-12-13T12:26:51.430 回答
1

与 SAS 一起,您可以使用 blob 的缓存控制标头,以最大限度地减少对 blob 存储的私有静态内容的读取操作。这可能会有所帮助 - TechNet wiki 文章。 请让我知道你的看法。

于 2015-03-08T01:52:35.877 回答