繁体   English   中英

如何限制用户下载上传到aws s3的文件

[英]How to restrict users from download files uploaded to aws s3

我正在 Laravel 中开发 LMS,并将所有视频文件上传到 aws s3 存储桶,并可以使用视频 js 播放器播放它们。 但问题是,用户可以下载我想停止的视频文件。 任何人都可以建议我是否可能? 如果可能的话,谁能告诉我该怎么做?

Amazon S3 中的对象默认是私有的

但是,如果您希望学生使用文件(例如学习课程视频),则需要授予对该文件的访问权限。 最好的方法是使用Amazon S3 预签名 URL ,它提供对私有 object 的限时访问。

例如,流程将是:

  • A 学生登录 LMS
  • 学生请求访问课程
  • LMS 检查他们是否有权查看课程(使用您自己的业务逻辑)
  • 如果允许他们使用该课程,LMS 会使用几行代码生成预签名的 URL ,并在 web 页面中返回链接(例如通过<a>标记)。
  • 学生可以访问内容
  • 过期后,预签名 URL 将不再有效

但是,在学生可以访问该文件的期间,他们可以下载该文件。 这是因为 object 已经获得访问权限。这是必需的,因为 web 浏览器需要访问 object。

避免这种情况的唯一方法是在“流”的基础上提供课件,前端和后端之间存在连续连接。 这不太可能是您的 LMS 的设计方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM