樓上的這種問題我也遇到過,往往是設計網站界面視圖的人沒有考慮到所有的需求,提供的資料庫查詢不夠靈活。
確實有可能找到辦法去訪問這個資料庫,不過應該提醒樓主,網站做界面的目的出了美觀方便外,就是要限制用戶不訪問,所以通過非正常途徑訪問就要承擔一定的責任了。
具體方法有:
1.理想方法:得到資料庫的地址,例如樓上說的把mdb文件直接下載下來。當然很少有網站用access做資料庫的,一般情況是需要知道資料庫IP地頃好址,資料庫類型,庫名,用戶名和密碼,然後通過toad等客戶端軟體來訪問。
既然是理想方法,這種情況不太可能發生,除非你是內部人士,可以知道很多信息。因為春乎山通常資料庫伺服器會放在區域網上,不能被外部訪問到。
2.實際方法:採用sql注入等黑客技術。SQL注入是最簡單的黑客技術了,不過由於簡單威力也不會很大,要求網站設計對於安全的考慮不周,存在漏洞才行。
由於網站設計不周扒中,就會在出錯或者某些情況下暴露出資料庫表結構的一些內幕,這樣就可以寫出你想要的SQL命令,把它插入到Web表單遞交,或者頁面請求的查詢字元串中,最終達到欺騙伺服器執行的目的。
『貳』 是資料庫訪問結構上,有兩種,一種是直接客戶端訪問資料庫,一種是客戶端通過服務端的應用
直接客戶端訪問資料庫的方式,稱為兩層資料庫應用,數據處理邏輯、用戶交互合二為一,客戶端編程既要清楚資料庫的數據結構,又要考慮怎麼與用戶交互,編程復雜,不便於軟體的團隊開發,同時資料庫的結構暴露在客戶端,不利於保密。而且當客戶需求改變時,資料庫結構改變了,客戶端程序都得重寫,不便於資料庫應用功能的擴展。
客戶端通過服務端的應用訪問資料庫的方式,稱為多層資料庫應用,通常為三層,即所謂的表現層、業務層和數據層。表現層(也就是客戶端)用於和用戶交互,提供用戶界面及操作導航服務;業務層用於業務處理,提供商業邏輯等各種約束;數據層用於數據的集成存儲。
有點復雜。簡單一點講,三層資料庫應用就象我們用的電腦,應用程序相當於客戶端,API相當於業務層,操作系統底層的東西相當於數據層。這樣,你開發應用程序(客戶端)只要知道API怎麼用就可以了,不需要知道操作系統底層的東西。操作系統改了(從WIN98、到XP、到WIN7,從32位到64位),只要API介面沒變,你的應用程序就還可以運行。你的應用程序要增加功能,API介面不需要改,操作系統底層也不需要改。這樣,才可能有不同的人開發出各種各樣的應用程序。你想想,如果沒有API,每個人開發的應用程序都直接與操作系統底層打交道,操作系統一變,這些應用程序還能用么?多層資料庫應用的道理就是這樣。
『叄』 關於前端連接資料庫的問題
前端的JS自身可能不能直接連資料庫,後端的JS(如 Node.js )是可以連資料庫的;
如果你想前端JS查資料庫,可以用JS發一個ajax請後端,後端查詢完資料庫後,把結果封裝成JSON返回,前端的AJAX回調函數中取出JSON對象,把內容更新到網頁上。
示例:
$.ajax({
url:"./ajaxdata/findtable.do",
method:'POST',
dataType:'json',
data:{
dTyppe:'findid',
ID:'001',
},
success:function(data){
//data是返回的對象,可以data中取出數據
//輸出內容
}
});
『肆』 為什麼前端不能直接連接資料庫,一定要通過後台
為了數據安全 前端頁面可以改動 如果前端直接連資料庫 那同行也得只需要修改頁面上的sql語句就可以讀取、修改資料庫的全部信息
而後台作為執行程序,是會部署到伺服器上運行,用戶是獲取不到的,這就增大了入侵的難度