這種作法是比較專業(yè)但也是很安全的也是現(xiàn)在比較流行的作法,但是現(xiàn)在許多的人只是作了一半,只是將數(shù)據(jù)名改成ASP而以,這樣的話直接用FlashGet之類的下載工具一樣可以將數(shù)據(jù)庫(kù)下載,這種方式的正確作法有兩步:
第一步:在數(shù)據(jù)庫(kù)內(nèi)創(chuàng)建一個(gè)字段,名稱隨意,類型是OLE對(duì)象,內(nèi)容設(shè)置為單字節(jié)型的" "<%",即(ASP代碼chrB(asc("<")) & chrB(asc("%"))的運(yùn)行結(jié)果)
第二步:將數(shù)據(jù)庫(kù)改名為ASP
這樣從URL上直接請(qǐng)求這個(gè)數(shù)據(jù)庫(kù)將會(huì)提示"缺少關(guān)閉腳本分隔符",從而拒絕下載,因?yàn)檫@個(gè)方式比較麻煩我在網(wǎng)上找了一段小代碼來(lái)完成OLE對(duì)象的插入工作,只要將數(shù)據(jù)庫(kù)名設(shè)置好,然后放在和數(shù)據(jù)庫(kù)內(nèi)一目錄運(yùn)行一下就可以了?!?/p>
代碼全文如下:
<%
db="d.mdb" '這里改成您的數(shù)據(jù)庫(kù)地址
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
%>
這段代碼運(yùn)行完之后將會(huì)在數(shù)據(jù)庫(kù)內(nèi)生成一個(gè)nodownload表,表內(nèi)字段是notdown。如果數(shù)據(jù)庫(kù)內(nèi)已有同名的數(shù)據(jù)表存在請(qǐng)將代碼內(nèi)的nodownload改成自己想要的數(shù)據(jù)表名即可。
新聞熱點(diǎn)
疑難解答
圖片精選