2010-03-02 27 views
2

对于我管理的教会网站,需要在网站上放置音频文件(布道)。将有两类音频文件;一个将是音频文件的样本大小,大约5分钟。另一部分将是布道的全长(30-50 +/-分钟)。音频文件:安全问题;如何防止未经授权从服务器下载音频文件

我已经决定最好的设置是将音频文件放在服务器上。然后,我会将音频信息以及音频文件的路径存储在数据库中。我曾考虑将音频文件作为BLOB放入数据库,但效率不高。

我的问题是,使用像Firefox extension "Download Helper"这样的工具,只需从服务器上抓取媒体文件非常简单。除了我们希望销售全长音频文件外,这不是什么大问题。我在IIS 7上运行ASP.NET 3.5。有什么想法?

+0

你是不是想从网上下载的样本或只是完整的文件阻止人们? –

+0

只是全长样本是我想阻止下载的样本。尽管未来我们可能会提供全长音频付费下载。 – contactmatt

回答

2

这可以通过将文件存储在Web用户无法访问的位置来完成,例如:未由IIS或SQL Server数据库提供服务的文件夹和适当的访问控制。

然后,您可以通过允许以多种不同方式请求文件来确定用户是否获得授权,但最终,一旦您知道您的用户已获得授权并购买了该文件,则可以使用的Response.Write。见下面的例子从文件系统服务:

Response.Clear(); 
Response.ContentType = "audio/mpeg3"; 
Response.WriteFile("d:\private-downloads\private.mp3"); 
Response.AddHeader("Content-Disposition", "inline;filename=private.mp3"); 
Response.End(); 
1

您需要将IIS配置为不从该目录提供文件,然后在检查授权后编写一个传输文件的ASHX页面。