Jam*_*ley 3 php amazon-s3 amazon-web-services flysystem
我是第一次使用Flysystem使用 S3(在这种情况下特别是用户配置文件头像图像)实现文件上传。我目前正处于创建 S3 存储桶的阶段,用户可以上传图像,然后可以在存储桶控制台中在线查看该图像。
我现在需要能够在请求时显示这些图像(即查看该用户的个人资料)。我假设此过程将生成 URL(例如https://s3.my-region.amazonaws.com/my-bucket/my-filename.jpeg)并将其用作src图像标签的这样做,文件(或存储桶)必须标记为公共。这对我来说似乎是合理的,因为其中的文件并不是真正私密的。但是,当将存储桶更新为公共状态时,您会看到一条消息,说明;
我们强烈建议您永远不要授予对 S3 存储桶的任何类型的公共访问权限。
是否有不同或更安全的方式来实现这样的直接图像链接,而 AWS 的新手没有看到?
之所以发出警告,是因为许多人无意中公开了信息。但是,如果您希望 Internet 上的任何人随时可以访问这些特定文件,那么您当然可以将各个对象设为公开或创建 Amazon S3 存储桶策略来公开特定路径。
授予访问权限的替代方法是创建一个S3 预签名 URL,这是一个有时限的 URL,可授予对私有对象的访问权限。
您的应用程序将负责验证是否应授予用户访问特定对象的权限。然后它会生成 URL,提供访问的持续时间。然后,您的应用程序可以将 URL 插入到该src字段中,图像就会正常显示。但是,一旦过了持续时间,它将不再可访问。
这通常用于提供对私人文件的访问权限——类似于 DropBox 如何在不公开文件本身的情况下访问私人文件。
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |