0
我允許我的用戶刪除他們上傳的圖片,但可以通過更改圖片名稱輕鬆刪除屬於其他用戶的圖片。亞馬遜S3安全刪除對象
我的以下工作代碼用於刪除圖像...用戶圖像是使用用戶名前綴提取的,例如, joe/some_image.jpg
,用戶使用複選框選擇要刪除的圖像。
//images to be deleted
$images = array("joe/angry_robot.jpg", "joe/baby_with_mustache.jpg");
//create multidimensional array to use in class
foreach($images as $key => $value)
{
$array[] = array(
'key' => $value
);
}
$this->load->library('awslib');
//initiate the class
$s3 = new AmazonS3();
$bucket = 'my_bucket';
$response = $s3->delete_objects ($bucket, array(
'objects' => $array
));
// Success?
var_dump($response->isOK());
S3中有哪些解決方案可用於安全刪除存儲桶中的對象?我正在尋找某種用戶身份驗證方法。
謝謝我會測試!我不確定你是否嘗試了這個,但我注意到在S3中你可以爲對象創建元數據。假設我創建了一個名爲'username'的元數據,上傳圖片時用戶名用戶名填充。我可以通過比較用戶名和元數據來授權用戶嗎?這樣我不必使用數據庫。 – CyberJunkie
@CyberJunkie你可以這樣做,但調用S3中的每個項目來獲取其元數據所需的時間要比從其他持久存儲形式中獲取與用戶關聯的項目列表要長很多。 –