php - 对音乐播放器使用 Amazon S3 查询字符串身份验证

标签 php javascript security amazon-s3

我有一个音乐家客户,几年前我主要用 javascript 创建了一个音乐播放器网络应用程序/网站。

正在通过常规 HTTP 下载抓取 mp3 音频文件。

他注意到人们正在盗用他的音乐并在其他地方使用他的轨道。

我想让人们更难从他们的专用 URL 中简单地获取 mp3 文件。

我熟悉 Amazon S3 的查询字符串身份验证,并且正在考虑使用它。

我的计划是将请求的过期时间提前约 3 秒,以便播放器应用程序有时间开始下载,但如果用户尝试获取 URL 并稍后发出相同的请求,他们的尝试将被阻止.

我有两个问题:

1)即使下载到一半,也到了过期时间会停止下载吗?还是会继续下载?

2) 有没有更好的方法来做这样的事情?

最佳答案

不可以,URL 在下载开始时必须有效。如果在下载过程中达到到期时间,则开始的下载将完成。 Here is a document detailed it,虽然它是相关的 CloudFront 签名 URL,但对于 S3 查询字符串 auth 应该是相同的。 ( link )

注意过期时间短。亚马逊服务器的时钟(至少我从自己的经验中知道 EC2 实例是这样的)往往有很大的不准确性(大约 10 秒/天)。您应该使用 ntp 来保持时钟同步。

关于php - 对音乐播放器使用 Amazon S3 查询字符串身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16568289/

相关文章:

php - 统计每个状态的行数 - Laravel eloquent

javascript - 如何使用 GCC 重命名由 Object.defineProperty 创建的属性

.net - 确保 Web 服务安全

javascript - 控制 View 的元素数组 (AngularJS)

javascript - 如何在没有硬编码维度的情况下扩展包含位置相对/绝对子项的 UL 元素?

security - 您是否将 dotenv 文件留在服务器中?或者删除它?

php - 在同一网络服务器上运行的安全网站

php - 带有 Doctrine 和 PHP 的 8 字节整数

php - 选择用户喜欢的推文中的所有喜欢

php - 使用 $_GET 变量进行记录集查询