用ASP.NET实现文件的下载保护1

2013 年 8 月 23 日4420

IT专家网 > winsystem

用ASP.NET实现文件的下载保护1

  本文后篇:用ASP.NET实现文件的下载保护2

  一、文件保护性下载的需求

  如果我们需要在站点上出售数字形式的商品,如电子书、数字油画等,那么如何在供授权用户正常下载的同时又阻止非授权用户非法下载您的产品呢? 通过Forms身份验证,只能使这个问题得到部分解决。本文中,我将讲解如何防止某些用户访问站点上的某些文件;即使这些文件能够被这些用户直接浏览。

  解决这个问题的方法有多种,但是有些方法本身就有问题。本文中,我们将考察软件供应厂商常用的一些技术,然后再介绍一种新的解决方案。需要注意的是,这里介绍的是针对ASP.net站点的。

  二、常见的文件保护技术

  我们中很多人都有网上购买软件的经验,所以可能领教过用于文件下载的常见保护措施。下面,我们对它们进行考察。

  压缩文件口令保护

  这种保护方法比较简单,它不是防止您下载文件,而是防止未经授权的人员从压缩文件中提取文件的内容,因为WinZip和许多其他压缩程序都提供了口令保护功能。然而,这种方法的缺点也很明显,如果您允许某人访问该文件内容,那就必须给他提供口令,之后,您却无法阻止这个人将口令传给其他人。实际上,如果您搜索互联网的话,会发现各种各样的口令遍地都是。采用这种保护措施的时候,只能指望授权用户是有道德的人,不会将口令外传。或者,将这种保护措施提供一个层次,为每个人生成一个不同口令的压缩文件,然后传给他。 当然,这需要一个文件存储解决方案,因为需要能控制发送给用户的文件。这导致第二种文件保护方法。

  电子邮件

  许多软件供应厂商并不会把文件张贴到它们的网站上,而是向购买该软件的用户发送一封电子邮件,告知下载详细信息,或者直接连同文件一块发过去。 电子邮件可以包含文件下载链接,并限定该链接的有效时间。有时候,软件供应商还可以将这种这种技术跟口令保护相结合。文件一旦交到用户手里,剩下的保护措施就靠软件许可和注册了。其他基于电子邮件的解决方案还有动态生成文件名方法。

  临时文件名

  一些软件供应厂商会使用GUID或者其它的秘密的命名技术生成一个难以猜测的文件名,同时还可以令文件只能在规定时间内下载。

  三、技术分析

  虽然这些技术仍在使用,但是它们却不能在您的站点上开辟一片客户区域,使得用户能够检查他们的购买历史记录,并随时重新下载他们的软件。依我看来,提供了类似功能的站点能够提供更好的用户体验,对软件供应商来说也更容易管理——用户购买产品之后,您仅需给用户发送一封包含许可证密钥和他们在站点上相应客户区域的链接即可。这样的话,用户知道可以随时登录和下载软件,他们就会安心多了,即使弄丢了软件文件也不用怕了。

  为此,我们将介绍一种结合了ASP.net的Forms身份验证和称为HTTP处理程序的保护方案来提供这种良好的用户体验。类System.Web.UI.Page本身就是一个HTTP处理程序,并且会注册到您的机器的Web.config文件中。

相关文章

关键词:Web开发 开发语言 IT技术 ASP.net 微软 技术

责任编辑:关睿

专题推荐

原创文章

微博互动

白皮书

All Rights Reserved, Copyright 2004-2013, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i

0 0