欢迎光临
我们一直在努力

.NET中防止Access数据库下载-.NET教程,安装和部署

建站超值云服务器,限时71元/月

.net中防止access数据库下载

如何防止access数据库下载是一个很老的话题了,网上的讨论也比较多。在这里只是探讨asp.net下防止access数据库被下载的方法,有些是对以前方法的总结,部分是自己原创。其中可能有不完善甚至不正确的地方,欢迎大家指出,一同进步。

         目前的解决方案主要有以下几种:

1.       把数据库文件放置到站点目录之外

2.       设置存放数据库文件的iis目录权限为不可读取(iis信息服务管理->选择需要设置目录->右键->属性->目录选项卡->取消读取复选框)

3.       采用odbc数据源

以上三种方法都比较经典也比较安全,适合能对服务器直接操作的情况(因为三种方法都需要直接操作服务器进行设置),当然这也是asp平台下防止access被下载的解决方案。

 

         asp平台下还有一种解决办法,那就是在数据库中添加一个长二进制表,然后把文件后缀修改为.asp。(详情可参照动网论坛数据库的相应数据表)

4.       将你的 access 重命名 *.asax:因为 asp.net 的处理机制中,默认情况下,对这样的请求是直接拒绝的,并不会有思归提到的解析过程耗费资源等问题。按照这个思路,其实还可以把 access 重命名为 *.config,*.vb, *.cs 等等。

5.       将你的 access 放在你的应用程序根下 bin 目录(也就是你放置 dll 文件的那个目录)中:已经发现,iis 默认被配置为拒绝直接访问 bin 目录中的文件,用以保护对 dll 的请求,事实上也同时保护了放在 bin 目录中其他文件。但是对于这种方法,有人提出疑问: 会不会有这样的后果,数据库读写时会造成程序集被频繁的刷新,也会session和application不断丢失

6. (个人原创)另外一种方法是利用.net的访问权限控制达到禁止匿名用户下载数据库的目的,具体如下:

打开配置文件web.config,在configuration节点下添加如下一段配置:

  <location path=”database”>

         <system.web>

                   <authorization>

                            <deny users=”*” />

                   </authorization>

         </system.web>

  </location>

database是你的数据库文件存放目录,如果是根目录则用<locateon path=”~/database.aspx”>替换即可。添加了上述配置后再把数据库后缀修改为.aspx等需要经过iis解析的文件类型即可。

因为<deny users=”*” />语句限制任何匿名用户访问路径path=”database”下的所有需要解析的文件。

 

         注意:无论是asp中还是.net下,对于直接把access数据库后缀直接改为.asp和.aspx,或者在文件名前面添加“#”或文件名中加入空格,用flashget照下不误。

 

相关文章:

简单的问题

http://blog.joycode.com/saucer/archive/2003/10/18/2795.aspx

 

asp.net 中防止 access 数据库被下载的几种选择

http://blog.joycode.com/percyboy/articles/7470.aspx

 

立即停止关于“防止access数据库被下载的方法”的讹传

http://blog.joycode.com/percyboy/archive/2004/10/26/36657.aspx

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » .NET中防止Access数据库下载-.NET教程,安装和部署
分享到: 更多 (0)