php – 安全地提供来自Amazon S3的文件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 安全地提供来自Amazon S3的文件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户文件上传到S3的应用程序.目前,文件夹和文件的ACL设置为私有.

我创建了一个存储以下信息的db表(称为docs):

@H_360_3@id user_id file_name (original file as sPEcified by the user) hash_name (random hash used to save the file on amazon)

因此,当用户想要下载文件时,我首先在db表中检查他们是否有权访问文件.我宁愿不先将文件下载到我的服务器然后发送给用户 – 我希望他们能够直接从亚马逊获取文件.

是否可以依赖非常长的hashname(任何人都无法随机猜出文件名)?在这种情况下,我可以将每个文件的ACL设置为public-read.

或者,我可以使用其他选项来提供文件,同时保持文件的私密性吗?

请记住,一旦链接在那里,没有什么可以阻止用户与他人共享该链接.然后,没有什么能阻止用户文件保存到别处并共享指向文件副本的链接.

最好的方法取决于您的具体需求.

选项1 – 限时下载URL

如果适用于您的方案,您还可以创建到S3内容的过期(有时间限制)自定义链接.这将允许用户在有限的时间内下载内容,之后他们将不得不获得新的链接.

http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html

选项2 – 混淆的URL

如果您重视通过Web服务器运行文件,而不是有意识地共享URL(无论多么模糊),那么请使用难以猜测的链接名称.这将允许链接永远”保持有效,这意味着链接可以“永久”共享.

选项3 – 通过您的服务器下载

如果您担心要共享的链接并且当然希望用户通过您的网站进行身份验证,请在验证用户凭据后通过您的网站提供内容.

此选项还允许链接“永久”保持有效,但要求用户登录(或者可能只是在浏览器中有一个身份验证cookie)才能访问该链接.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 安全地提供来自Amazon S3的文件全部内容,希望文章能够帮你解决php – 安全地提供来自Amazon S3的文件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。