防止Azure Blob存储中的热链接

vto*_*ola 9 azure azure-storage azure-storage-blobs

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

它看起来像一个好主意,把静态内容(图片,视频,音频,大JS和CSS文件,等等.)在一个公开的容器,但后来没有什么可以阻止其他网站,这些内容联系起来,并在其网站上使用它.因此,一些网站管理员在他们的网站上使用我的内容,会花费我的钱.

对热链接的常见保护是通过RefererHTTP标头进行过滤.如何在Microsoft Azure Blob存储中实现这一目标?

显然,它可以在Amazon S3中实现.

我知道这对谷歌图片搜索会有害,因为它无法显示我的照片,但是......我可以忍受这种情况.

干杯.

San*_*tia 4

Windows Azure 不支持像在 Amazon S3 中那样向 Blob 存储添加逻辑。但对于这种特定场景,您通常会使用SAS(共享访问签名)

您需要将容器更改为私有访问。这意味着只有拥有两个密钥之一或拥有 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