色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

.NET中防止Access數據庫下載

如何防止Access數據庫下載是一個很老的話題了,網上的討論也比較多。在這里只是探討ASP.NET下防止Access數據庫被下載的方法,有些是對以前方法的總結,部分是自己原創。其中可能有不完善甚至不正確的地方,歡迎大家指出,一同進步。



         目前的解決方案主要有以下幾種:



1.       把數據庫文件放置到站點目錄之外



2.       設置存放數據庫文件的IIS目錄權限為不可讀取(IIS信息服務管理->選擇需要設置目錄->右鍵->屬性->目錄選項卡->取消讀取復選框)



3.       采用ODBC數據源



以上三種方法都比較經典也比較安全,適合能對服務器直接操作的情況(因為三種方法都需要直接操作服務器進行設置),當然這也是ASP平臺下防止Access被下載的解決方案。







         ASP平臺下還有一種解決辦法,那就是在數據庫中添加一個長二進制表,然后把文件后綴修改為.ASP。(詳情可參照動網論壇數據庫的相應數據表)



4.       將你的 Access 重命名 *.asax:因為 ASP.NET 的處理機制中,默認情況下,對這樣的請求是直接拒絕的,并不會有思歸提到的解析過程耗費資源等問題。按照這個思路,其實還可以把 Access 重命名為 *.config,*.vb, *.cs 等等。



5.       將你的 Access 放在你的應用程序根下 bin 目錄(也就是你放置 DLL 文件的那個目錄)中:已經發現,IIS 默認被配置為拒絕直接訪問 bin 目錄中的文件,用以保護對 DLL 的請求,事實上也同時保護了放在 bin 目錄中其他文件。但是對于這種方法,有人提出疑問: 會不會有這樣的后果,數據庫讀寫時會造成程序集被頻繁的刷新,也會Session和Application不斷丟失



6. (個人原創)另外一種方法是利用.NET的訪問權限控制達到禁止匿名用戶下載數據庫的目的,具體如下:



打開配置文件Web.config,在configuration節點下添加如下一段配置:



  <location path="DataBase">



         <system.web>



                   <authorization>



                            <deny users="*" />



                   </authorization>



         </system.web>



  </location>



DataBase是你的數據庫文件存放目錄,如果是根目錄則用<locateon path=”~/database.ASPx”>替換即可。添加了上述配置后再把數據庫后綴修改為.ASPx等需要經過IIS解析的文件類型即可。



因為<deny users="*" />語句限制任何匿名用戶訪問路徑path="DataBase"下的所有需要解析的文件。







         注意:無論是ASP中還是.NET下,對于直接把Access數據庫后綴直接改為.ASP和.ASPx,或者在文件名前面添加“#”或文件名中加入空格,用FlashGet照下不誤。

AspNet技術.NET中防止Access數據庫下載,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 德州市| 昆山市| 威远县| 荥阳市| 北宁市| 台州市| 石林| 恩施市| 安康市| 当雄县| 云南省| 仙游县| 夏津县| 广东省| 喀喇沁旗| 策勒县| 军事| 孝感市| 滕州市| 和田市| 肃南| 四平市| 嘉峪关市| 松滋市| 龙山县| 黑河市| 石家庄市| 平利县| 垦利县| 前郭尔| 鹤峰县| 工布江达县| 如东县| 革吉县| 卫辉市| 政和县| 改则县| 石屏县| 固安县| 法库县| 呼伦贝尔市|