我想创建一个亚马逊s3托管文件的一次性下载链接。文件下载后,此链接将过期。
我希望仍然可以托管此文件,但访问者只能下载一次该文件。
我需要这个场景是:我有一个文件下载网站,用户在那里支付文件费用。我希望用户只能从网站(和亚马逊s3)下载文件一次,我也不希望用户能够与其他人共享直接下载链接。
如果这是不可能的,我想知道如果可能的话,用IP地址或Cookie来限制它是否更有效?
我想创建一个亚马逊s3托管文件的一次性下载链接。文件下载后,此链接将过期。
我希望仍然可以托管此文件,但访问者只能下载一次该文件。
我需要这个场景是:我有一个文件下载网站,用户在那里支付文件费用。我希望用户只能从网站(和亚马逊s3)下载文件一次,我也不希望用户能够与其他人共享直接下载链接。
如果这是不可能的,我想知道如果可能的话,用IP地址或Cookie来限制它是否更有效?
无法告诉S3允许链接仅使用一次。但是您可以创建一个只能在指定时间之前使用的链接。我所做的是将请求者重定向到几分钟内到期的S3链接,因此他或她没有时间分享它。只要浏览器有时间接收重定向响应并遵循它,您就可以将到期时间设置得非常短,甚至几秒钟。
您可以编写“一次性URL生成器”服务(以网站或其他API的形式)并使用aws联合用户功能来实现此目的。
请考虑以下过程:
使用签名的URL。只有此用户才能使用此URL。它还依赖于AWS SDK