Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.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 我可以通过HTTP请求参数授予AS3存储桶上文件的权限吗?_Php_Amazon Web Services_Amazon S3 - Fatal编程技术网

Php 我可以通过HTTP请求参数授予AS3存储桶上文件的权限吗?

Php 我可以通过HTTP请求参数授予AS3存储桶上文件的权限吗?,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,我有一个桶,里面有AS3中的文件。我可以访问PHP API和一个服务器,该服务器可以根据命令向Amazon发送请求 我想做的是使用httpget/POST请求授予对bucket中文件的访问权。根据我对使用此函数的理解: get_object_url ( $bucket, $filename, $preauth, $opt ) 我可以在给定的URL上使文件在$preauth时间内公开访问。我不想这样做,我希望该文件可以在URL上以所需的POST或GET凭据(根据包含应用程序“用户”及其权限的数据

我有一个桶,里面有AS3中的文件。我可以访问PHP API和一个服务器,该服务器可以根据命令向Amazon发送请求

我想做的是使用
httpget/POST
请求授予对bucket中文件的访问权。根据我对使用此函数的理解:

get_object_url ( $bucket, $filename, $preauth, $opt )
我可以在给定的URL上使文件在
$preauth
时间内公开访问。我不想这样做,我希望该文件可以在URL上以所需的POSTGET凭据(根据包含应用程序“用户”及其权限的数据库决定谁可以访问该文件)。我理解在非HTTPS连接上通过GETPOST传递任何类型凭据的安全含义


这可能吗?我可以将文件从AS3下载到我的服务器,以了解事务的范围,然后在我自己的机器上执行所有控制,但这是一个昂贵的解决方案(两次文件下载而不是一次,而我的服务器根本不需要进行下载)一个看似简单的问题。

简单的答案是否定的。

您可以寻找更多的方法来保护内容,特别是结合使用,但本质上没有办法通过传递用户名和密码来提供对内容的访问

当然,如果您已经在对站点上的用户进行身份验证,那么您只能向这些用户提供已签名的url。url只需在用户启动下载时有效,而不必在整个下载期间有效


此外,如果您打算将服务器用作S3和用户之间的代理,那么首先您将失去使用S3的许多好处。但是您可以使用EC2作为服务器来消除您提到的额外成本—S3和EC2之间的传输是免费的。

您使用的PHP API难道没有为对象设置访问控制策略的方法吗?