ASP编程:关于Access数据库平安
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。access|平安|数据|数据库|数据库平安 明天再次看到Access数据库平安的文章,每次看到这类文章就想说上两句,盛行说法有几种:1、暗码式
给数据库起一个随机庞杂的称号,防止被猜到被下载,这类体例在之前很盛行,由于人人都对本人的代码很有自傲。但跟着毛病提醒对数据库地址的泄漏招致数据库被不法下载,这类体例也就愈来愈少人用了。
2、"#"式
在数据库称号里加上#号,从URL上恳求时#是恳求地址和恳求参数的一个分隔字符,假如晓得了数据库名,直接恳求的话,如:http://www.xx.com/access#.mdb,WEB办事器会以为恳求的是access而不是access#.mdb,所以会提醒找不到文件,然而很遗憾,URL中关于这些特别的字符城市有一个特别的暗示体例,#的特别暗示就是%23,如http://www.xx.com/access%23.mdb,那末access#.mdb将会被下载。还有假如用FlashGet之类的下载东西也能够直接下载。
3、ASP式
这类作法是对照专业但也是很平安的也是如今对照盛行的作法,然而如今很多的人只是作了一半,只是将数据名改成ASP而以,如许的话直接用FlashGet之类的下载东西一样可以将数据库下载,这类体例的准确作法有两步:
第一步:在数据库内创立一个字段,称号随便,类型是OLE对象,内容设置为单字节型的"<%",即(ASP代码chrB(asc("<")) & chrB(asc("%"))的运转了局)
第二步:将数据库更名为ASP
如许从URL上直接恳求这个数据库将会提醒"短少封闭剧本分隔符",从而回绝下载,由于这个体例对照费事我在网上找了一段小代码来完成OLE对象的拔出任务,只需将数据库名设置好,然后放在和数据库内一目次运转一下就能够了。
代码全文数下:
<%
db="d.mdb" '这里改成您的数据库地址
set conn=server.createobject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
conn.open connstr
conn.execute("create table notdownload(notdown oleobject)")
set rs=server.createobject("adodb.recordset")
sql="select * from notdownload"
rs.open sql,conn,1,3
rs.addnew
rs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%")))
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
这段代码运转完以后将会在数据库内生成一个nodownload表,表内字段是notdown。假如数据库内已有同名的数据表存在请将代码内的nodownload改成本人想要的数据表名便可。
4、asa式
这类体例的真理是使用IIS对ASA文件的回护,从而使得数据库文件不克不及从URL上直接恳求下载,然而这类体例被曲解成只需将文件后缀改成ASA就能够了。要晓得IIS只是对global.asa这个文件名有恳求回护,所以这类体例只能将数据库名设置为global.asa,并且要注重的是,设置成global.asa以后最好不要将其放在主机或虚拟目次的根目次里,否则会被IIS固然正常的global.asa文件停止测验考试运转的。
感到第三第四种是对照平安的,除非IIS有检查ASP或ASA源码的破绽,不然是没法将数据库下载的。
</p>ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。Apache ASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 那么,ASP.Net有哪些改进呢? 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 不能只是将它停留在纸上谈兵的程度上。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
页:
[1]