技术开发 频道

用ASP.NET实现文件的保护性下载基础篇

  六、保护措施规划

  假设我们的站点使用户能在线购买软件,但是在购买或者下载软件之前,用户必须首先注册。然后,分别为用户和产品建立一个表,然后分别存放用户名和产品序列号。当用户购买软件的时候,通过在另一个表中创建一个记录来关联用户和产品。我们称这个表为UserProducts。

  我们想把所有的软件产品文件存储在一个称为files的文件夹中,该文件夹位于网站的根文件夹之中。产品表有一个字段,用于产品文件名,该文件名对应于files文件夹中的一个压缩文件。 我们称这个字段为ProductFileName。下面我们逐步介绍如何保护这些ZIP 文件。

  七、保护所有的压缩文件

  首先,我们要防止所有的压缩文件被未经验证的用户所下载。我们要让所有扩展名为.zip的文件经由ASP.NET 的Forms身份验证处理,这样匿名用户就不能访问它们了。虽然这一步并不是最关键的,但是它确实提供了文件的安全性。

  通常如果您能直接浏览某网站上的一个ZIP 文件,该站点会提示您打开或者将该文件保存到硬盘上。我们想让ASP.NET拦截对扩展名为zip的文件的请求,所以需要在IIS的应用程序映射表中添加相应的扩展名。

  为此,可以打开IIS的管理控制台,找到相应的站点或虚拟目录,单击右键并选择“Properties”选项,就会显示图 2。如果单击“Web Site”或者“Virtual Directory”选项卡中的“Configuration”按钮的话,就会看到扩展名表和用于处理它们的DLL,见图1。我们必须将扩展名“zip”添加到这个列表中,为此,可以单击“add”按钮,然后再扩展名文本框中键入“zip”,并单击“Limit to verb”选项按钮。

图2 网站属性

图3 导航至aspnet_isapi.dll

0
相关文章