|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用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。 |
|