ACCESS數據庫防下載方法
ACCESS數據庫防下載方法
下面的方法分別適用有IIS控制權和 虛擬空間的用戶!
1:修改數據庫名。這是常用的方法,將數據庫名改成怪異名字或長名字以防他人猜測。如果被猜到數據庫名則還能下載該數據庫文件,但機率不大。如:將數據庫database.mdb改成fjds$^&ijjkgf.mdb這種名稱。
2:修改數據庫后綴名。如改成database.inc、database.dwg、database.dll等等,請注意要在IIS中設置這些后綴的文件可以被解析,這樣直接訪問這個數據庫文件時將會象程序一樣被執行而不會被下載,以避免數據庫被其他人獲取而使網站安全受到影響。( 請不要修改為ASP、ASA這樣的后綴名,因為黑客仍可以通過ASP的漏洞進行代碼攻擊從而獲取數據庫的名稱達到攻擊數據庫的目的)
3:將數據庫database.mdb改成#database.mdb。這是最簡單有效的辦法。假設別人得到你的數據庫地址是:
http://www.yourserver.com/folder/#data#base.mdb,但實際上得到將是:http://www.yourserver.com/folder/,因為#在這里起到間斷符的作用。地址串遇到#號,自動認為訪問地址串結束。注意:不要設置目錄可訪問。用這種方法,不管別人用何種工具都無法下載,如flashget,網絡螞蟻等。
注:只要數據庫文件名任何地方含有'#',別人都無法正常下載。同理,空格號也可以起到'#'號作用,但必須是文件名中間出現空格。
4:修改IIS設置。 只要修改一處,無需修改代碼,即使暴露了數據庫的目標地址,整個站點的數據庫仍然可以防止被下載。
我們在 IIS屬性---主目錄---配置--- 映射---添加對.mdb文件的應用解析。
即任意找個.dLL文件解析MDB文件。如圖:
通過以上設置,數據庫可正常使用,但在直接下載數據庫mdb文件時則會顯示404錯誤。
5:加密數據庫 適合沒有IIS控制權
先在本機上打開ACCESS服務器,從菜單欄上,點“文件”->“打開”,在彈出的窗口里,選中你要打開的ACCESS數據庫,點右下方的“打開”按鈕時,應注意,要選擇“以獨占方式打開(v)”如圖:
ACCESS 數據庫打開后,就可以設置密碼了,如圖:
加密后修改數據庫連接文件:conn.asp, 然后找到下面這段代碼:
Sub OpenConn() On Error Resume Next If SystemDatabaseType = "SQL" Then ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlHostIP & ";" Else ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) |
修改這行 ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) 為下面樣式
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db) &";Jet OLEDB:Database Password=數據庫的密碼;Persist Security Info=False"
這幾種方法中,只有第4種方法是一次修改配置后,整個站點的數據庫都可以防止下載;其他幾種方法,需要修改數據庫連接文件。
這幾種方法各有長短,請自己選擇性地使用,也可幾種方法同時使用。但最主要還是需要系統和IIS本身設置足夠安全并且加上好的防火墻軟件, 否則再好的安全設置也仍然會被攻破!
posted on 2014-03-04 10:21 順其自然EVO 閱讀(223) 評論(0) 編輯 收藏 所屬分類: 數據庫