這種作法是比較專業但也是很安全的也是現在比較流行的作法,但是現在許多的人只是作了一半,只是將數據名改成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改成自己想要的數據表名即可。