仓酷云

标题: ASP网站制作之ASP+Access的平安隐患及对策 [打印本页]

作者: 精灵巫婆    时间: 2015-1-16 23:14
标题: ASP网站制作之ASP+Access的平安隐患及对策
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。access|平安|平安隐患跟着Internet的开展,Web手艺一日千里。继通用网关接口(CGI)以后,“ASP”(ActiveServerPages)作为一种典范的服务器端网页计划手艺,被普遍地使用在网上银行、电子商务、搜刮引擎等各类互联网使用中。同时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文件举行加密,并把加密后的文件一致输入到响应的目次中。比方:
screnc*.aspc:        emp
4.ScriptEncoder是收费软件。该加密软件能够从微软网站下载:http://msdn.microsoft.com/scripting/vbscript/download/x86/sce10en.exe。下载后,运转安装便可。
使用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.asp”
EndIf
%>

</p>使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
作者: 小妖女    时间: 2015-1-20 08:34
掌握asp的特性而且一定要知道为什么。
作者: 飘飘悠悠    时间: 2015-1-29 06:12
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 灵魂腐蚀    时间: 2015-2-5 22:47
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者: 金色的骷髅    时间: 2015-2-14 01:02
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者: 海妖    时间: 2015-3-4 03:39
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
作者: 第二个灵魂    时间: 2015-3-11 16:02
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
作者: 若相依    时间: 2015-3-19 01:14
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。




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