我想創建一個一次下載鏈接到亞馬遜s3託管的文件。該鏈接在文件下載完成後即失效。如何創建一次性使用Amazon S3的下載鏈接?
我想讓這個文件仍然託管,但訪問者只能下載一次該文件。
我需要這個場景是:我有一個文件下載網站,用戶爲文件付費。我希望用戶只能從網站(和Amazon s3)下載文件一次,我也不希望用戶能夠與其他人共享直接下載鏈接。
如果這是不可能的,我想知道如果可能的話用IP地址或Cookie來限制它是否更有效?
我想創建一個一次下載鏈接到亞馬遜s3託管的文件。該鏈接在文件下載完成後即失效。如何創建一次性使用Amazon S3的下載鏈接?
我想讓這個文件仍然託管,但訪問者只能下載一次該文件。
我需要這個場景是:我有一個文件下載網站,用戶爲文件付費。我希望用戶只能從網站(和Amazon s3)下載文件一次,我也不希望用戶能夠與其他人共享直接下載鏈接。
如果這是不可能的,我想知道如果可能的話用IP地址或Cookie來限制它是否更有效?
沒有辦法告訴S3允許鏈接僅被使用一次。但是,您可以創建一個只能在指定時間內使用的鏈接。我所做的是將請求者重定向到幾分鐘內到期的S3鏈接,因此他或她沒有時間分享它。只要瀏覽器有時間接收重定向響應並遵循它,就可以使該過期時間非常短,甚至幾秒鐘。
)進行下載。這聽起來適合我的sitatuion關於如何去關於這個? – Muggles
我看到你正在使用PHP。我沒有編程,但亞馬遜有一個SDK,它看起來像createPresignedUrl方法是你應該使用的。它的記錄在http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html#_createPresignedUrl –
因此,您的網頁將包含一個指向您的URL的鏈接現場。點擊該網址會導致您的網站向您剛剛創建的預先簽名的網址發送重定向響應,並在一分鐘內過期。 –
您可以編寫「一次性url生成器」服務(以網站或rest API的形式)並利用aws聯邦用戶功能來實現此目的。
考慮下面的程序:
任何開源項目都有這個功能嗎? –
@Stef試試這個:https://github.com/joshpangell/single-use –
@AviParshan有沒有類似的Java庫? – sinu
使用標識的URL。只有這個用戶可以使用這個URL。它也依賴於AWS SDK
請提供鏈接中的內容摘要。 – SilentMonk
請在答案中提供更多,然後只是一個鏈接。如果因爲任何原因鏈接脫機,你的整個答案就變得毫無用處。 –
我建議你將自己的文件託管在自己託管的網站上,並使用服務器端腳本語言(如php – 2013-10-19 15:35:18