0

我在存储中存储了一个视频文件BLOB。我需要流式传输此视频,但我不希望用户进入开发者模式并在浏览器上复制/粘贴 URL,以便他们下载。

我尝试了很多方法来控制它,但我失败了。我使用SAS token了过期时间,但是,用户仍然可以在该过期时间内下载内容。

我最新的方法是将SAS Token启用的视频 URL 隐藏在Azure API Management Service. 这会给我一个不同的 URL(不是 BLOB 存储 URL),我将在 HTML 页面上公开它。这种方法会奏效吗?

4

1 回答 1

0

,我们不能在 Web 中隐藏后端信息。您无法隐藏您的应用在客户端浏览器上运行的任何内容。取而代之的是,您可以保护您的后端服务。

有一些替代方法可以做到这一点,但我们不会在网络上隐藏任何内容。

1. 屏蔽内容中的 URL

redirect-content-urls策略重写(屏蔽)响应正文中的链接,以便它们通过网关指向等效链接。在出站部分中使用以重写响应正文链接以使其指向网关。在入站部分使用以获得相反的效果。

<redirect-content-urls />

请参阅内容中的掩码 URL

2.设置后端服务

使用该set-backend-service策略将传入请求重定向到与该操作的 API 设置中指定的后端不同的后端。此策略将传入请求的后端服务基本 URL 更改为策略中指定的 URL。

<set-backend-service base-url="base URL of the backend service" />

或者

<set-backend-service backend-id="identifier of the backend entity specifying base URL of the backend service" />

参考 设置后端服务

否则,您可以加密您的视频数据以保护后端

要了解可能的方式,请参见此处

如果客户端具有有效的SAS,则可以访问. 保护 SAS 免受恶意或意外使用非常重要。为此,在分发 SAS 时使用自由裁量权,并制定撤销受损 SAS 的计划。SAS

参考:SAS for blob

于 2021-08-19T08:56:24.040 回答