【问题标题】:How can I grant access only if resource is accessed through my domain?仅当通过我的域访问资源时,如何才能授予访问权限?
【发布时间】:2019-02-08 22:30:25
【问题描述】:

我有很多视频,所有视频都上传到了 Wistia。在 Wistia 上,我已经为我的域设置了访问权限,因此只有在从我的域中获取视频时它们才会播放。

如果有人使用查看源并复制视频 URL 并将其粘贴到单独的浏览器窗口中,他们会收到“拒绝访问”消息。

我正在考虑将我的视频移至 Google Cloud Storage。所以,我的问题是:

  1. 谷歌云是否提供类似的域限制功能?
  2. 如何设置?目前,我已经创建了一个临时存储桶并上传了一个视频并授予它公共访问权限。然后我复制了MP4文件的公开链接,添加到我的网站,明明可以播放,但是之后任何付费会员都可以使用查看源,将MP4链接复制并上传到其他流媒体服务供大家观看。

编辑 有没有办法以编程方式执行此操作 - 就像我的网站使用 PHP 一样 - 所以类似于 - 将存储桶保持为受限访问,然后通过 PHP - 传递一些密钥并检索视频文件。不确定这样的事情是否可行。

谢谢

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage acl


    【解决方案1】:

    我不认为 Google Cloud Storage 中存在与您在 Wistia 中使用的相同的访问控制机制。

    在 GCS 中有几种限制对象访问的方法(请参阅https://cloud.google.com/storage/docs/access-control),但它们都不是基于请求的来源。唯一可以解决您的问题的方法是使用签名 URL。基本上,用户会访问您的站点,但您的应用程序不会向他们提供他们将要使用的对象的“真实” URL,而是检索一个有时间限制的特殊 URL。您可以设置有效期。

    但是,如果您担心的是人们复制您的视频,那么如果他们立即执行此操作,他们可能仍然可以在某个地方看到 URL 并从那里复制数据,所以我认为这并不能真正解决您的问题。

    很抱歉,我无法提供更多帮助。

    【讨论】:

    • 谢谢马特 - 有没有办法使用 PHP 以编程方式执行此操作 - 我已经更新了我的问题 -
    • @Gublooo - 请不要创建“成长”问题。马特回答了你的问题。下一步是关闭这个问题并创建一个新的 SO 问题。请将您的问题限制在每个帖子一个。当问题被聚焦时,你会得到更好的答案。
    • @John - 当然约翰 - 我认为这只是同一个问题的延伸,但我明白你的意思 - 也会这样做 - 感谢您的指点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    相关资源
    最近更新 更多