我们有一个 Amazon S3 存储桶,它使用以下代码生成限时 Web URL:
define('WP_USE_THEMES', false);
require 'wp-blog-header.php';
require_once './sdk-1.5.3/sdk.class.php';
require_once './sdk-1.5.3/services/s3.class.php';
$FILENAME = $_GET['filename'];
S3GetFile($FILENAME);
function S3GetFile($filename){
if(is_user_logged_in()){
$url = getS3SignedURL($filename);
header('Location: '.$url);
}else{
$url = 'http://myurl.com/';
header('Location: '.$url);
}
}
function getS3SignedURL($filename){
$s3 = new AmazonS3();
$bucket = 'bucketname';
$url = $s3->get_object_url($bucket,$filename,'2 minutes');
return $url;
}
所以,这就是代码。我们使用AWSSDK for PHP。
这是一个会员网站。我们遇到了一些成员从服务器并行下载所有文件的问题。主机以大量资源使用为由不断关闭我们。
我试图找出限制每个 IP或每个用户同时下载数量的最佳方法(可能两者兼而有之,因为我想测试案例场景)。我也在检查文档,但如果您已经知道,这里的一些专家也会提供帮助。
非常感谢,萨钦。