ACCESS数据库防下载方法-阿里云开发者社区

开发者社区> 沉默术士> 正文

 ACCESS数据库防下载方法

简介:
+关注继续查看
下面的方法分别适用有IIS控制权和  虚拟空间的用户!
  1:修改数据库名。这是常用的方法,将数据库名改成怪异名字或长名字以防他人猜测。如果被猜到数据库名则还能下载该数据库文件,但机率不大。如:将数据库database.mdb改成fjds$^&ijjkgf.mdb这种名称。
  2:修改数据库后缀名。如改成database.inc、database.dwg、database.dll等等,请注意要在IIS中设置这些后缀的文件可以被解析,这样直接访问这个数据库文件时将会象程序一样被执行而不会被下载,以避免数据库被其他人获取而使网站安全受到影响。( 请不要修改为ASP、ASA这样的后缀名,因为黑客仍可以通过ASP的漏洞进行代码攻击从而获取数据库的名称达到攻击数据库的目的)
  3:将数据库database.mdb改成#database.mdb。这是最简单有效的办法。假设别人得到你的数据库地址是:
  http://www.yourserver.com/folder/#data#base.mdb,但实际上得到将是:http://www.yourserver.com/folder/,因为#在这里起到间断符的作用。地址串遇到#号,自动认为访问地址串结束。注意:不要设置目录可访问。用这种方法,不管别人用何种工具都无法下载,如flashget,网络蚂蚁等。
  注:只要数据库文件名任何地方含有'#',别人都无法正常下载。同理,空格号也可以起到'#'号作用,但必须是文件名中间出现空格。
  4:修改IIS设置。 只要修改一处,无需修改代码,即使暴露了数据库的目标地址,整个站点的数据库仍然可以防止被下载。
  我们在  IIS属性---主目录---配置--- 映射---添加对.mdb文件的应用解析。
  即任意找个.dLL文件解析MDB文件。如图:
  通过以上设置,数据库可正常使用,但在直接下载数据库mdb文件时则会显示404错误。
  5:加密数据库   适合没有IIS控制权
  先在本机上打开ACCESS服务器,从菜单栏上,点“文件”->“打开”,在弹出的窗口里,选中你要打开的ACCESS数据库,点右下方的“打开”按钮时,应注意,要选择“以独占方式打开(v)”如图:
  ACCESS  数据库打开后,就可以设置密码了,如图:
  加密后修改数据库连接文件:conn.asp, 然后找到下面这段代码:
Sub OpenConn()
On Error Resume Next
If SystemDatabaseType = "SQL" Then
ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlHostIP & ";"
Else
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
  修改这行  ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) 为下面样式
  ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) &";Jet OLEDB:Database Password=数据库的密码;Persist Security Info=False"
  这几种方法中,只有第4种方法是一次修改配置后,整个站点的数据库都可以防止下载;其他几种方法,需要修改数据库连接文件。
  这几种方法各有长短,请自己选择性地使用,也可几种方法同时使用。但最主要还是需要系统和IIS本身设置足够安全并且加上好的防火墙软件,  否则再好的安全设置也仍然会被攻破!
最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
不配置ODBC数据源,用JDBC-ODBC桥连接Access数据库
不配置ODBC数据源,用JDBC-ODBC桥连接Access数据库 ----------------------------------------------------------------------------------------- 查了许多注册表的知识,...
474 0
C#使用OleDB操作ACCESS插入数据时提示:参数 @p_Contract 没有默认值
C#使用OleDB操作ACCESS插入数据时提示:参数 @p_Contract 没有默认值 OleDbParameter param = new OleDbParameter("" + dc.ColumnName, dc.DataType); 出现该问题的原因是创建了Parameter,却没有为Parameter.value指定一个值。
809 0
ACCESS通过一个连接写入的数据,另一个连接却读取不出来
最近在用c#实现一个数据导入的功能,将一个ACCESS数据库中的数据导入到另一个ACCESS的数据库中,然后显示出来,但是导入成功了,却显示不出来。 经过研究觉得应该是缓存的原因,由于我写入数据和读取数据使用的不是一个OleDbConnection对象,而是分别打开了两个OleDbConnection连接对象;一个连接写入成功了,但保存到磁盘还需要点时间,所以这个连接写入成功,另一个连接立即去取就会有取不到的情况! 改为使用一个连接对象,问题就解决了。
482 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4613 0
asp.net连接Access数据库
Dim myConnection As OleDbConnection     Dim myCommand As OleDbCommand    sub page_load(sender as Object,e as EventArgs)     '1.
698 0
ACCESS数据宏创建与应用及调出USysApplicationLog表
    ACCES中支持两种数据宏:事件驱动的数据宏和已命名的数据宏。事件驱动 的数据宏与表中数据的添加 、更新或删除等事件相关联,即当在表中添加 、更新或删除数据时这些宏会执行。
808 0
+关注
5518
文章
253
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载