关于网站建设中Access数据库安全问题

来源 :知识力量·教育理论与教学研究 | 被引量 : 0次 | 上传用户:frkzhu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]在ASP(Active Server Pages)作为一种典型的服务器端网页设计技术,被广泛地应用在网上银行、电子商务、搜索引擎等各种互联网应用中,同时Access数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。但ASP+Access解决方案在为我们带来便捷的同时,由于数据库中数据大量集中存放,并且为众多用户直接共享,所以数据库的安全问题就尤为突出。
  [关键词]网站建设 数据库安全 Access
  随着Internet的发展,Web技术日新月异,ASP(Active Server Pages)作为一种典型的服务器端网页设计技术,被广泛地应用在网上银行、电子商务、搜索引擎等各种互联网应用中。同时Access数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。因此ASP+Access成为许多中小型网上应用系统的首先方案。但ASP+Access解决方案在为我们带来便捷的同时,由于数据库数据中数据大量集中存放,并且为众多用户直接共享,所以数据库的安全问题就尤为突出。
  一、ASP+Access的安全隐患
  ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。
  1.Access数据库的存储隐患
  在ASP+Access应用系统中,如果获得或者猜到Access数据的存储路径和数据库名,则该数据库就可以被下载到本地。
  例如:对于网上书店的Access数据库,人们一般命名为book.mdb、store.mdb等,而存储的路径一般为“URL/database”或干脆放在根目录(“URL/”)下。这样,只要在浏览器地址栏中敲入地址:“URL/ database/store.mdb”,就可以轻易地把stroe.mdb下载到本地的机器中。
  2.Access数据库的解密隐患
  由于Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行异或来形成一个加密串,并将其存储在*.mdb文件中从地址“&H42” 开始的区域内。由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件 的加密串进行第二次异或操作,就可以轻松地得到Access数据库的密码。基于这种原理,可以很容易地编制出解密程序。
  由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。
  3.源代码的安全隐患
  由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。
  4.程序设计中的安全隐患
  ASP代码利用表单(from)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可绕过验证直接进入某一页面。
  使如在浏览器中敲入“……Papg.asp?x=2”,即可不经过表单页面直接进入满足“X=2”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生。
  二、提高数据库安全性的方法
  由于Access数据库加密机制过于简单,困此,如何有效地防止Access数据库被下载,就成了提高ASP+Access解决方案安全性的重中之重。
  1.非常规命名法
  防止数据库被找到的简便方法是为Access数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。
  例如,对于网上书店的数据库文件,不要简单地命名为“book.mdb”或“store.mdb”,而是要起一个非常规的名字,例如faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55之类的深层目录下。这样,对于一些通过猜的方式得到Access数据库文件名的非法访问方法起到了有效的阻止作用。
  2.数据库加密
  首先在选取“工具→安全→加密/解密数据库”,选取数据库(如:data.mdb),然后按确定,接着会出现“数据库加密后另存为”的窗口,存为:datal.mdb。接着data.mdb就会被编码,然后存为datal.mdb。要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
  接下来我们为数据库加密,首先以打开经过编码了的datal.mdb,在打开时,选择“独占”方式。然后选取功能表的“工具→安全→设置数据库密码”,接着输入密码即可。这样即使他人得到了employerl.mdb文件,没有密码他是无法看到data1.mdb的。
  加密后要修改数据库连接页,如:
  conn.open “driver={mi-crosoft access driver(*.mdb)};
  uid=admin;pwd=数据库密码;dbq=数据库路径”
  这样修改后,数据库即使被人下载了,别人也无法打开(前提是你的数据库连接页中的密码没有被泄露)。但如前所述,由于数据库加密机制比较简单,只要数据库被下载,其信息安全依然是个未知数。
  3.使用ODBC 数据源
  在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库将随ASP源代码的失密而一同失密。例如:
  DBPath=Server.MapPath(“./akkjj16t/kjhg661/acd/avccx55/faq19jhsvzbal.mdb”)   Conn.Open “driver=Microsoft Access Driver(*.mdb);dbq=”
  &DBPath
  可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:
  Conn.open “ODBC—DSN名”这种方法的不足之处是如果移动站点目录的话,需要重新设置数据源。
  4.在数据库名称里加#号
  在数据库名前加上一个#号,台:#Data.Asp。这里的#号并不是用来防止下载的。当你有多个MDB文件,并放在同一个目录下,如果访问者猜到管理员MDB文件的位置,并且从另一个系统中得到SQL注入漏洞的同时,就可以采用Access跨库查询的方法,来取得管理员库中的记录。如果我们在库名前面加上#号的时候,就算被猜测到了也没有关系,因为#在SQL语法中有表示日期的作用,语法出错也就不会去执行查询条件了。
  需要注意的是:只要数据库文件名任何地方含有#号,别人都无法正常下载。同理,空格号也可以起到#号作用,但必须是文件名中间出现空格。
  5.更改数据库文件名并在数据库中加入ASP代码字段
  这种作法是比较专业但也是很安全的也是现在比较流行的方法,其正确作法他为两步:
  第一步,在你的MDB文件中建一个表,如NotDownLoad在表中建一个字段,类型为OLE对象,字段名为:<%abcd%>,为什么要取名为<%abcd%>,其实在这里可以随便输入,只要不是正确有ASP语句就行了。
  第二步,数据库改为“文件名.Asp”。
  这样把扩展名改成.ASP后,在IE中输入的时候,遇到了<%>他就会去解释之间的代码,而不正确的ASP语句在解释时会出现乱码,所以数据库就不会正确有被下载。
  综上所述,比较安全的数据库就应该是#文件名.Asp,并且建一个临时表,表中有一字段输入ASP代码,让ASP不能被正确的解释。
  注意:上述防止数据库被下载的方法主要针对虚拟服务器而言。对于托管主机,那就比较简单了,直接把数据库放在IIS以外的目录即可防止被下载。例如:WEB目录在D:\Web\WebSite目录下,那么就把数据库保存在D:\Web\Data目录下。
  (作者单位:十堰职业技术(集团)学校 湖北十堰)
其他文献
[摘要]根据数据库技术课程在计算机专业本科教学中的特点和定位,结合主流数据库产品Oracle的教学实践,从教学内容和教学方法上探讨课程教学改革的思路。在课堂教学实践中,通过因材施教充分调动学生的自主学习兴趣和热情;在课后的实践中,强化任务驱动的训练,培养学生解决问题和团队合作的意识,达到提高计算机专业人才培养质量的要求。  [关键词]Oracle 任务驱动 因材施教  一、前言  Oracle数据
期刊
[摘要]为给教师形成正确的课程观提供借鉴,本文从课程观的内涵和教师的课程观两大方面进行文献综述,分析了主要的课程观流派极其观点,现阶段教师课程观的主要问题,存在问题的原因,最后指出了解决问题的策略,以适应新课改的要求。  [关键词]课程观 课程 教师  一、引言  课程在学校教育中处于核心的地位,体现了教育的目标,并直接影响着教育的总体水平和人才质量,课程的改革也便常常成为教育改革的核心内容。在我
期刊
[摘要]大学校长公开选拔对高校民主建设、质量提高和人事改革都有着重要意义,现存的大学校长选拔制度有诸多优点,但在背景、学历和观念方面也存在着一些偏差。大学校长选拔在观念、过程和结果上存在误区,应从宏观和微观层面寻找新的出路。  [关键词]大学校长 选拔 误区 出路  2011年12月,教育部启动了面向海内外公开选拔教育部直属高校校长的试点工作,这一举措也标志着我国大学校长选拔制度取得了突破性进展。
期刊
[摘要]素描是一切绘画的基础,所有绘画手法都离不开它。练习好素描可以帮助你提高观察能力、造型能力,表现能力。要想学好素描一定要培养对素描正确的认识和绘画中正确的观察方法和绘画步骤,教师的认真指导起到很大作用。  [关键字]素描 画面 能力  素描是我们学习绘画的起步,是培养空间表现、提高造型能力、促进艺术创作最直接的手段。素描是一门技术性很强的学科。作为造型艺术的基础,素描要把握描绘物象的形状以及
期刊
[摘要]通常教学《礼貌的力量》一课时,老师只针对“为什么”(文明礼貌的作用)、“怎么样”(在人际交往中要语言文明和行为文明及与人为善的态度)而组织教学,却较少顾及“是什么”(礼貌待人就是要示人以“理解与尊重”),“礼貌”缺乏“力量”的支点。  [关键词]礼貌 力量 支点 教学  正如阿基米德需要有撬起地球的支点一样,通常教学“礼貌的力量”(教科版《思想品德》七年级第十一课《交往有艺术》第一节《礼貌
期刊
[摘要]为适应建设创新型国家的需要,建设创新型国家必须依靠创新型人才,区域产业经济转型升级,提高我国企业的核心竞争力,培养创新创业技能人才不仅是高职院校广泛关注的问题,也是社会关注的一个问题,而且也是一种责任,同时,高职院校在创新型技能人才培养方面存在的问题,本论文从创新创业团队建设、导师团队建设和行业区域内校企合作方面对创新创业人才的培养进行了研究与探索。  [关键词]高职院校 创新创业人才 人
期刊
[摘要]中等职业教育班主任工作是学校管理工作的重要组成部分,班主任是班级管理的组织者和引导者,对学生思想品德修养、学习生活和健康成长起着非常重要的作用。班主任工作的好坏,直接决定了职业教育的质量和效果。本文从以身作则、言传身教, 以教师的人格魅力感染塑造学生、引导和关爱学生,架起一座美好的心灵桥梁、民主管理----建立良好的班风和学风、公平、公正对待学生,用我们的爱心拥抱一切学生,四个方面讨论了新
期刊
[摘要]高职院校的思想政治理论课的实践教学非常重要,但也存在不少问题。高职院校要结合自身的特点,寻求多种渠道去进行实践教学,特别是要加强校企合作,这对提高思想政治理论课实践教学质量尤其必要。  [关键词]校企合作 思想政治理论课 实践教学  高职院校思想政治理论课实践教学是学校思政课不可缺少的重要环节,是我国进行大学生思想政治教育的有效途径。自新课改以来,中共中央、国务院、中宣部、教育部先后颁发了
期刊
[摘要]加强基层卫生队伍科学化、经常化、规范化管理,是军队卫生工作适应改革开放和军队现代化建设需要的关键。激励机制对促进部队基层卫生队伍建设发挥了积极作用。  [关键词]激励 部队基层卫生队伍 管理  加强基层卫生队伍科学化、经常化、规范化管理,是军队卫生工作适应改革开放和军队现代化建设需要的关键。激励是管理上一个重要的功能,作为现代管理工作的重要内容,对促进部队基层卫生队伍建设发挥了积极作用。 
期刊
[摘要]本文介绍了CDIO的综合工程教育理念,结合我校机械类专业的实际特点,建立了适合我校机械类人才培养的Q-CDMS课程体系。以机械设计及制造自动化专业为例,建立了横向上遵循生产业务流程、纵向上遵循教学业务流程的新课程体系,以此探索工程流程导向下大机械类专业的课程改革。  [关键词]工程教育 CDIO 机械类课程体系 人才培养模式  [中图分类号]G64 [文献标志码]A  一、引言  我国高等
期刊