.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

[原创].NET中防止Access数据库下载相关推荐

  1. .NET中防止Access数据库下载

    .net中防止access数据库下载 如何防止access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨asp.net下防止access数据库被下载的方法,有些是对以前方法的总结,部 ...

  2. ASP.NET中防止Access数据库下载

    如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.这里我们给出几种在ASP.NET下防止Access数据库被下载的方法. 我们这里假设Access数据库名字为 test.mdb. ...

  3. java web access_Java Web项目中连接Access数据库的配置方法

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

  4. DELPHI中操作ACCESS数据库

    DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库) 以下代码在WIN2K,D6,MDAC2.6下测试通过, 编译好的程序在WIN98第二版无ACCESS环境下运行成功. //在之前u ...

  5. php access数据库_在PHP中使用Access数据库

    php access数据库 A previous client of mine had an Access database of products they sell, which they had ...

  6. word数据源mysql,Word2013中使用Access数据库的方法

    Word 2013允许将Access数据库中的表和查询添加到Word文档中,下面介绍Word2013中使用Access数据库的具体操作方法. 1.启动Word 2013,打开需要添加Access数据库 ...

  7. 具体解释VB中连接access数据库的几种方法

    在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...

  8. 在ASP程序中访问Access数据库

    嵌入式培训教程 在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了.而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使 ...

  9. mac os linux pageup pagedown,[整理]Mac中的类似于Windows中的PageUp和PageDown以及Ctrl+Home和Ctrl+End...

    (1) 之前以为Ctrl+Home和Ctrl+End是 Command+向上箭头 Command+向下箭头 结果发现又好像不是. 刚发现的是: option(Alt)+向上箭头 option(Alt) ...

最新文章

  1. 带你100% 地了解 Redis 6.0 的客户端缓存
  2. [Android应用]《花界》V1.0 正式版隆重发布!
  3. 航天智慧物流创意组-技术培训
  4. java类定义的顺序_Java类及对象的初始化顺序
  5. redhat linux 5.6安装图解
  6. 使用机器学习预测天气_使用机器学习的二手车价格预测
  7. 好代码是管出来的——.Net Core中的单元测试与代码覆盖率
  8. stm32 内部sram大小_让STM32的外部SRAM操作跟内部SRAM一样
  9. Redis数据库 【总结笔记】
  10. 苹果Mac应用软件加密及网站黑名单工具:​​​​Cisdem AppCrypt
  11. 2013.10.28—2013.11.1周总结
  12. oracle11.2.0.4使用impdp导入时报错:ORA-39083 ORA-00439
  13. StyleAI:色调、感情色彩量化、色彩交流API-PCCS颜色体系
  14. 最小生成树 刘汝佳模板
  15. 滨州学院CSDN高校俱乐部 策划书
  16. VirtualBox中出现“0x00000000指令引用的0x00000000内存该内存不能为written 和visual studio Just in time debugger error
  17. Typora 如何自动生成标题序号
  18. Microsemi Libero系列教程(全网首发)
  19. Linux Ubuntu 鼠标变为十字架锁死解决办法
  20. CPU、主存与辅存的关系

热门文章

  1. WPM3012-3/TR单P沟道 增强型MOS 场效应晶体管WILLSEM
  2. 合并 2 个有序列表(关键词:有序列表/有序/合并/归并)
  3. socket是什么意思
  4. 图像恢复(加噪与去噪)
  5. python 爬虫 关于requests的基础知识及常用的一些User-Agent
  6. 中小学计算机说课稿,【附说课相关知识】中小学信息技术说课稿《认识计算机》.doc...
  7. form表单的多种提交方式及提交前验证
  8. 基于SPI方式实现OLED屏显
  9. 清华山维EPS三维测图无法进行OSGB格式转换问题(实测)
  10. PhotoShop 快速选择工具及选择并遮住使用