1. 做網站時Access數據庫的安全方式

      2011-01-08

            access數據庫使用比較廣,原因很多。access對于大多數人來說易于使用。利用access中的各種向導和對話框,創建和設置數據庫的難度比其他數據庫(如 sql server)小得多。大多數公司都可以支付得起microsoft access ,而對于sql server 之類的數據庫來說,僅僅該軟件的本身就不可能走進小規模公司。
            但是,access 并不是一個數據庫服務器,數據的安全問題不能保障,所以,我們有必要作一些特殊處理。 Access數據庫的安全方式主要有以下四種:

            一、密碼式
        給數據庫起一個隨機復雜的名稱,避免被猜到被下載,這種方式在以前很流行,因為大家都對自己的代碼很有自信。但隨著錯誤提示對數據庫地址的泄露導致數據庫被非法下載,這種方式也就越來越少人用了。

        二、"#"式
        在數據庫名稱里加上#號,從URL上請求時#是請求地址和請求參數的一個分隔字符,如果知道了數據庫名,直接請求的話,如:http://www.xx.com/access#.mdb,WEB服務器會認為請求的是access而不是access#.mdb,所以會提示找不到文件,但是很遺憾,URL中對于這些特殊的字符都會有一個特殊的表示方式,#的特殊表示就是%23,如http://www.xx.com/access%23.mdb,那么access#.mdb將會被下載。還有如果用FlashGet之類的下載工具也可以直接下載。

        三、ASP式
        這種作法是比較專業但也是很安全的也是現在比較流行的作法,但是現在許多的人只是作了一半,只是將數據名改成ASP而以,這樣的話直接用FlashGet之類的下載工具一樣可以將數據庫下載,這種方式的正確作法有兩步:
        首先:在數據庫內創建一個字段,名稱隨意,類型是OLE對象,內容設置為單字節型的"
        這段代碼運行完之后將會在數據庫內生成一個nodownload表,表內字段是notdown。如果數據庫內已有同名的數據表存在請將代碼內的nodownload改成自己想要的數據表名即可。

        四、asa式
        這種方式的真諦是利用IIS對ASA文件的保護,從而使得數據庫文件不能從URL上直接請求下載,但是這種方式被誤解成只要將文件后綴改成ASA就可以了。要知道IIS只是對global.asa這個文件名有請求保護,所以這種方式只能將數據庫名設置為global.asa,而且要注意的是,設置成global.asa之后好不要將其放在主機或虛擬目錄的根目錄里,不然會被IIS當然正常的global.asa文件進行嘗試運行的。