本論壇嚴禁發佈 任何有關成人的資訊
不論短片、圖片、文字或連結,違者立即停止帳號
總版規V2.0
權限列表V2.0 其他論壇設定V2.0
請各位發廣告的會員留意
發相同廣告多於一篇,將刪除該會員所有廣告。
發新話題
打印

.NET中防止Access數據庫下載

.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照下不誤.
發新話題
重要聲明:本論壇是以即時上載留言的方式運作,曼格論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。曼格論壇有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。