2012-10-05 62 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