返回“ASP.NET 2.0數據教程目錄”
導言:
ASP.NET應用程序的設置信息通常都存儲在一個名為Web.config 的XML文件裡。在教程的前面部分我們已經好幾次修改過Web.config文件了.比如 在第一章,我們創建名為Northwind的數據集時,數據庫連接字符串信息自動的添 加到Web.config文件的<connectionStrings>節點.再後來,在第3章裡,我 們手動更新了Web.config文件,添加了一個<pages>元素,對所有的 ASP.NET頁面運用DataWebControls主題.
由於Web.config文件包含了敏感 的信息,比如連接字符串.所以確保Web.config文件內容的安全性是很重要的,對 未經授權的訪問者應隱藏這些敏感信息.默認情況下,對.config後綴名的文件的 任何HTTP請求都由ASP.NET引擎來處理,它將返回“This type of page is not served”的信息,如圖1所示.這意味著訪問者無法通過在其浏覽器的地 址欄鍵入‘http://www.YourServer.com/Web.config’來訪問你的 Web.config文件.
圖1:通過浏覽器訪問Web.config將返回“This type of page is not served”的信息
但是如果某個攻擊者找到其它方法來訪問你的 Web.config文件的內容又怎麼辦呢?他會做怎樣的修改?我們又采取怎樣的步驟 來保護Web.config文件的這些信息呢?幸運的是,Web.config文件的絕大多數節 點並不包含敏感信息.如果攻擊者知道你的ASP.NET頁面使用的默認的主題的名字 又會搞哪些破壞呢?
Web.config文件的某些節點包含了敏感信息,比如: connection strings, user names, passwords, server names, encryption keys等等.我們能在下面的這些節點找到這些信息:
.<appSettings>
.<connectionStrings>
.<identity>
.<sessionState>
在本文我們 將考察保護這些敏感信息的技術.就像我們將看到的那樣,.NET Framework 2.0版 本包含了一個保護配置系統,我們可以使用它很容易地對選定的配置節點進行加 密和解密.
注意:
在本文結尾部分,我們將看到微軟對從一個 ASP.NET應用程序連接到數據庫時的建議.除了對連接字符串進行加密外,我們還 可以連接到一個處於“安全模式”的數據庫使你的系統更強 大.