2012-10-05 96 views
0

我正在構建一個應用程序(Rails 3.2.8),用戶可以在其中上傳音樂曲目和關聯的剪輯。雖然剪輯可以公開訪問,但無需購買即可訪問。我使用carrierwave來上傳這兩種類型的文件。但是,我不想向用戶公開實際的軌道路徑。如何隱藏實際路徑Carrierwave

這些服務使用什麼技術來保護盜鏈和/或未經授權訪問文件?

目前,carrierwave路徑是這樣的:

def store_dir 
    "tracks/#{model.user_id}/" 
    end 

然而,這是非常脆弱的。任何人都可以輕鬆猜出網址。

對於授權下載,我可以考慮: 1.靜態下載鏈接(該鏈接對該用戶始終有效,但沒有來賓或其他用戶可以使用該URL) 2.每個下載的常規臨時鏈接!

請指教我可以考慮的方法(我會研究它們),這樣我就可以保證文件無需購買即可下載。

回答

1

好像你想同時,公衆剪輯和私人的軌道到fog_publig設置爲false。 我試圖通過下面的方法來實現這個(未測試)

def fog_public 
    return @job.job_kind == 'public' 
end 
+0

感謝您的意見。什麼是'fog_public'。你可以請解釋或給我任何參考? – HungryCoder