仓酷云

标题: MYSQL教程之妙手支招ASP及Access的平安隐患及对策 [打印本页]

作者: 莫相离    时间: 2015-1-16 22:19
标题: MYSQL教程之妙手支招ASP及Access的平安隐患及对策
对免费版的用户也具有充足的支持服务。在dev.mysql.com上,一个大型的MySQL学习教程强大社区用户和开发者可以讨论所有关于MySQL的事情。这个站点拥有博客、指南、视频、技术交流会、白皮书和论坛等方式的交流。  跟着Internet的开展,Web手艺一日千里。继通用网关接口(CGI)以后,“ASP”作为一种典范的服务器端网页计划手艺,被普遍地使用在网上银行、电子商务、搜刮引擎等各类互联网使用中。同时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”,就能够容易地把store.mdb下载到当地的呆板中。

  2、Access数据库的解密隐患
  
  因为Access数据库的加密机制十分复杂,以是即便数据库设置了暗码,解密也很简单。该数据库体系经由过程将用户输出的暗码与某一流动密钥举行异或来构成一个加密串,并将其存储在*.mdb文件中从地点“&H42”入手下手的地区内。因为异或操纵的特性是“经由两次异或就恢回复值”,因而,用这一密钥与*.mdb文件中的加密串举行第二次异或操纵,就能够轻松地失掉Access数据库的暗码。基于这类道理,能够很简单地体例出解密程序。

  因而可知,不管是不是设置了数据库暗码,只需数据库被下载,其信息就没有任何平安性可言了。
 
  3、源代码的平安隐患

  因为ASP程序接纳的长短编译性言语,这年夜年夜下降了程序源代码的平安性。任何人只需进进站点,就能够取得源代码,从而形成ASP使用程序源代码的保守。

  4、程序计划中的平安隐患

  ASP代码使用表单(form)完成与用户交互的功效,而响应的内容会反应在扫瞄器的地点栏中,假如不接纳得当的平安措施,只需记下这些内容,就能够绕过考证间接进进某一页面。比方在扫瞄器中敲进“……page.asp?x=1”,便可不经由表单页面间接进进满意“x=1”前提的页面。因而,在计划考证或注册页面时,必需接纳特别措施来制止此类成绩的产生。

  进步数据库的平安性因为Access数据库加密机制过于复杂,因而,怎样无效地避免Access数据库被下载,就成了进步ASP+Access办理计划平安性的重中之重。
  
  1、十分规定名法

  避免数据库被找到的烦琐办法是为Access数据库文件起一个庞大的十分规名字,并把它寄存在多层目次下。比方,关于网上书店的数据库文件,不要复杂地定名为“book.mdb”或“store.mdb”,而是要起个十分规的名字,比方:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55之类的深层目次下。如许,关于一些经由过程猜的体例失掉Access数据库文件名的不法会见办法起到了无效的制止感化。

  2、利用ODBC数据源

  在ASP程序计划中,应只管利用ODBC数据源,不要把数据库名间接写在程序中,不然,数据库名将随ASP源代码的掉密而一同掉密。比方:


以下为援用的内容:
DBPath=Server.MapPath(“./akkjj16t/
kjhgb661/acd/avccx55/faq19jhsvzbal.mdb”)
conn.Open“driver={MicrosoftAccessDriver(*.mdb)};dbq=”&DBPath

  可见,即便数据库名字起得再奇异,埋没的目次再深,ASP源代码掉密后,数据库也很简单被下载上去。假如利用ODBC数据源,就不会存在如许的成绩了:conn.open

  “ODBC-DSN名”

  对ASP页面举行加密为无效地避免ASP源代码保守,能够对ASP页面举行加密。一样平常有两种办法对ASP页面举行加密。一种是利用组件手艺将编程逻辑封装进DLL当中;另外一种是利用微软的ScriptEncoder对ASP页面举行加密。笔者以为,利用组件手艺存在的次要成绩是每段代码均需组件化,操纵对照啰嗦,事情量较年夜;而利用ScriptEncoder对ASP页面举行加密,操纵复杂、见效优秀。

  ScriptEncoder办法具有很多长处:

  1.HTML仍具有很好的可编纂性。ScriptEncoder只加密在HTML页面中嵌进的ASP代码,其他部分仍坚持稳定,这就使得我们仍旧可使用FrontPage或Dreamweaver等经常使用网页编纂工具对HTML部分举行修正、完美,只是不克不及对ASP加密部分举行修正,不然将招致文件生效。

  2.操纵复杂。只需把握几个命令行参数便可。ScriptEncoder的运转程序是screnc.exe,其利用办法以下:

以下为援用的内容:
screnc[/f][/xl][/ldefLanguage][/edefExtension]inputfileoutputfile

  个中的参数寄义以下:
  s:屏障屏幕输入;
  f:指定输入文件是不是掩盖同名输出文件;
  xl:是不是在.asp文件的顶部增加@Language指令;
  l:defLanguag指定缺省的剧本言语;
  e:defExtension指定待加密文件的扩大名。

  3.能够批量加密文件。利用ScriptEncoder能够对以后目次中的一切的ASP文件举行加密,并把加密后的文件一致输入到响应的目次中。

  4.ScriptEncoder是收费软件。该加密软件能够从微软网站下载。

  使用Session工具举行注册考证,为避免未经注册的用户绕过注册界面间接进进使用体系,能够接纳Session工具举行注册考证。Session工具最年夜的长处是能够把某用户的信息保存上去,让后续的网页读取。比方,要计划如所示的注册页面。

  计划请求用户注册乐成后体系启动hrmis.asp?page=1页面。假如不接纳Session工具举行注册考证,则用户在扫瞄器中敲进“URL/hrmis.asp?page=1”便可绕过注册界面,间接进进体系。使用Session工具能够无效制止这一情形的产生。相干的程序代码以下:

以下为援用的内容:
<%读取用户输出的账号和暗码
UserID=Request(“UserID”)
Password=Request(“Password”)
反省UserID及Password是不是准确(实践程序大概会对照庞大)
IfUserID“hrmis”OrPassword
“password”Then
Response.Write“账号毛病!”
Response.End
EndIf
将Session工具设置为经由过程考证形态
Session(“Passed”)=True
%>
进进使用程序后,起首举行考证:
<%假如未经由过程考证,前往Login形态
IfNotSession(“Passed”)Then
Response.Redirect“login.htm”
EndIf
%>
  请作者接洽本站,实时附注您的姓名。接洽邮箱:edu#chinaz.com(把#改成@)。

表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。
作者: 变相怪杰    时间: 2015-1-19 08:45
连做梦都在想页面结构是怎么样的,绝非虚言
作者: 金色的骷髅    时间: 2015-1-27 23:36
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
作者: 仓酷云    时间: 2015-2-5 14:30
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
作者: 不帅    时间: 2015-2-12 06:59
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
作者: 若天明    时间: 2015-3-11 07:50
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
作者: 谁可相欹    时间: 2015-3-17 23:34
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
作者: 精灵巫婆    时间: 2015-3-25 07:59
无法深入到数据库系统层面去了解和探究




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2