gpt4 book ai didi

php - 限制对 amazon s3 文件的访问,只允许登录用户访问

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:26 25 4
gpt4 key购买 nike

当我转到存储桶文件的 URL 时,它会立即下载。但是,我只希望登录到我的应用程序的用户能够访问这些文件。

我已经搜索了几个小时,但无法从我的应用程序中找到如何在 php 中执行此操作。我正在使用 laravel 来执行此操作,因此代码看起来可能不熟悉。但本质上它只是生成我的存储桶文件的 url,然后重定向到下载它的链接

$url = Storage::url('Shoots/2016/06/first video shoot/videos/high.mp4');
return redirect($url);

我怎样才能让这个文件只有登录我的应用程序的用户才能访问?

最佳答案

我正在处理的应用程序遇到了类似的问题。我们最终使用的解决方案是生成 S3 signed URLS ,它们的有效期很短。这允许我们为每个对 Web 服务器的请求生成一个新的签名链接,将该链接传递给我们已知的授权用户,然后该用户可以在非常有限的时间内(几秒钟)访问。对于我们想要在 DOM 中显示的图像,我们让我们的 API 使用 HTTP 303(查看其他) header 和签名 URL 进行响应,这些 URL 在几秒钟内过期。这使浏览器有时间在链接过期之前下载并显示图像。

此解决方案存在一些风险:我们知道用户可能会请求签名 URL 并在过期之前以编程方式与其他服务共享它,或者拦截网络流量的未授权用户可能会拦截请求并自己制作,我们觉得这些都是边缘案例,我们对我们的解决方案感到满意。

关于php - 限制对 amazon s3 文件的访问,只允许登录用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37636076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com