我在S3上存儲用戶圖像,默認情況下是可讀的。如何防止在S3上暴力破解文件下載?
我需要直接從網絡訪問圖像。
但是,我想阻止黑客強制URL和下載我的圖像。
例如,我的S3圖像URL是在http://s3.aws.com/test.png
他們可以蠻力測試並下載所有的內容?
我無法將我的存儲桶中的項目設置爲專用,因爲我需要直接從Web訪問。
任何想法如何預防它?
我在S3上存儲用戶圖像,默認情況下是可讀的。如何防止在S3上暴力破解文件下載?
我需要直接從網絡訪問圖像。
但是,我想阻止黑客強制URL和下載我的圖像。
例如,我的S3圖像URL是在http://s3.aws.com/test.png
他們可以蠻力測試並下載所有的內容?
我無法將我的存儲桶中的項目設置爲專用,因爲我需要直接從Web訪問。
任何想法如何預防它?
使用高安全性不會影響您「直接從Web訪問」的能力。如果使用適當的權限,則可以從Web訪問Amazon S3中的所有內容。
默認情況下,Amazon S3中的所有內容都是私有的。
權限來訪問內容就可以被分配在幾個方面:
最有趣的是預簽名URL。這是一個計算的 URL,允許在有限的時間內訪問Amazon S3對象。應用程序可以生成預先簽名的URL並將該鏈接包含在網頁中(例如,作爲<img>
標記的一部分)。這樣,您的應用程序將確定用戶是否被允許訪問對象,並且可以限制該鏈接工作的持續時間。
您應該保持內容的安全,並使用Pre-signed URLs僅允許訪問您的網站的授權訪問者。您必須編寫一些代碼才能使其工作,但它很安全。
第一個建議是沒有可預測的文件名... –
迴應@RowlandShaw所說的,你可以嘗試使用諸如UUID之類的東西作爲文件名。 –
@mbaird,但這並不能防止暴力強制。他們至少可以獲得100萬次嘗試。 – moeseth