Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何让客户端从S3上传和下载文件而不影响凭据_Php_Amazon S3 - Fatal编程技术网

Php 如何让客户端从S3上传和下载文件而不影响凭据

Php 如何让客户端从S3上传和下载文件而不影响凭据,php,amazon-s3,Php,Amazon S3,我正在创建一个文件共享类网站(类似于WetTransfer)。我曾考虑使用S3进行存储,我希望使用不同的托管解决方案而不是EC2,这样我的web服务器将位于amazon云以外的不同主机中。为了减少带宽消耗,我需要以某种方式让客户端直接从客户端(浏览器)下载和上载文件 我正在看一本解释如何从浏览器客户端直接将文件上传到S3的书。看起来我们几乎公开了我的s3凭据的所有细节,有些人可以很容易地查看细节和滥用 有什么办法可以避免这种情况,比如允许用户使用临时凭据上载/下载文件?IAM用户角色可以工作吗?

我正在创建一个文件共享类网站(类似于WetTransfer)。我曾考虑使用S3进行存储,我希望使用不同的托管解决方案而不是EC2,这样我的web服务器将位于amazon云以外的不同主机中。为了减少带宽消耗,我需要以某种方式让客户端直接从客户端(浏览器)下载和上载文件

我正在看一本解释如何从浏览器客户端直接将文件上传到S3的书。看起来我们几乎公开了我的s3凭据的所有细节,有些人可以很容易地查看细节和滥用


有什么办法可以避免这种情况,比如允许用户使用临时凭据上载/下载文件?

IAM用户角色可以工作吗?您应该能够创建一个用户(该用户将拥有自己的UUID),为其提供对S3存储库的只读访问,并将该用户的凭据以及内容和密钥规则传递到您的请求策略中

如果您想授予所有用户读/写访问权限,尽管只允许这些用户访问特定的文件,但这会有点麻烦

我在看S3文档,它解释了如何从浏览器客户端直接将文件上传到S3。看起来我们几乎公开了我的s3凭据的所有细节,有些人可以很容易地查看细节和滥用

不,你不是。如果使用得当,该页面上记录的基于POST的上传界面只允许用户在有限的时间内上传一个符合各种标准(例如,文件名称、大小、MIME类型等)的文件。使用起来很安全


请记住,S3访问密钥不是敏感信息。向用户公开它是非常好的,事实上许多常见操作都需要它!只有密钥需要保密。

我删除了我的答案,因为我意识到你希望客户端上传。很抱歉当你说“限时”时,是服务的默认行为过期了,我们需要频繁更新密钥,还是我们有任何控制权?我在哪里可以找到有关此的详细信息?请阅读您在问题中链接到的文档页面!所有这些,还有更多,都在这里解释。