- 相關推薦
基于ASP.NET的Web網絡應用程序開發的安全策略實踐
關鍵詞:Web應用程序;web.config;認證和授權;視圖;存儲過程
1 前言
微軟公司推出的ASP.NET,可以非常方便和高效地規劃、設計、開發和發布Web網絡應用程序。筆者利用ASP.NET為新疆職工培訓中心開發了運行在校園網上的網絡辦公管理系統。該系統分為管理部門和教學部門兩個角色,實現了數據存儲、瀏覽查詢和教學分析統計功能,提高了培訓中心的信息化管理和校園網的利用價值。在整個系統的開發過程中,考慮最多的就是安全問題,相信這也是所有開發人員開發Web網絡應用程序所必須面對的問題。因此本文針對基于ASP.NET的Web網絡應用程序開發的安全問題,以我們開發的系統為例,從3個方面來闡述實際解決策略:
(1)系統規劃階段的安全策略;
(2)設計開發階段的安全策略;
(3)發布運行階段的安全策略。
希望我們的實踐能對利用ASP.NET開發Web網絡應用程序的相關技術人員提供參考和借鑒。
2 安全策略實踐
2.1系統規劃階段
Web網絡應用程序,就是運行在Web應用服務器上的一個虛擬目錄及其子目錄下的所有文件、網頁、模塊以及可執行代碼的總和。根據系統需求分析,用戶分為管理部和教學部(對數據的操作權限有區分),因此建立兩個目錄分別存放相應的網頁文件。另外,還有數據庫文件夾、樣式文件夾、網頁模版文件夾等。而對數據庫表的操作文件放在特殊的文件夾bin下,因為該目錄是禁止任何瀏覽器訪問的,從而避免了遠程客戶下載代碼的可能性。應用程序根目錄下除了上述目錄外,還有兩個重要的應用程序級文件:global.asax 和web.config(下文詳細分析)。總之,文件目錄的規劃是按類別存放文件,重要文件存在bin目錄下。
2.2設計開發階段
主要從后臺的數據庫設計、配置文件web.config及前臺界面設計三個內容,著重闡述對安全問題的解決策略。
2.2.1數據庫設計
為了提高訪問數據的效率和安全性,能在后臺做的事情,就在后臺完成,能分開獨立做的事情,就分開獨立實現。
(1)充分利用后臺數據庫系統的視圖和存儲過程,如:創建帶參數的視圖,實現不同角色身份的用戶對各自權限范圍內的數據訪問。
(2)報表設計及實現:Web應用程序實現動態報表,開始考慮用ASP.NET的數據控件Repeater,可以自由定義靈活的顯示方式,但通常比較麻煩,而且在代碼中字段名要出現,即:使用數據容器Container.DataItem("字段名")方式來顯示數據內容,降低了數據安全性。我們的做法是利用Bussiness Object 公司開發的專業報表軟件CrystalReports10設計報表,通過ODBC數據源與數據庫連接,生成報表文件(*.rpt)后,在前臺利用報表控件CrystalReprotViewer,將報表文件加載到頁面實現各種報表。這種把數據源、報表文件、和頁面顯示文件分開獨立實現,不僅豐富了報表顯示樣式和提高了網絡報表生成效率,而且極大地提高了訪問數據的安全性。
(3)用戶口令存儲問題:不要將實際的口令存儲在數據庫表中,因為口令直接放在數據庫或文件中存在安全隱患,因此要存儲加密后的口令。使用時,例如當用戶登錄時,對口令加密,然后與數據庫中存放的加密口令進行比較。實現步驟如下:
首先,導入命名空間:
【基于ASP.NET的Web網絡應用程序開發的安全策略實踐】相關文章:
淺談基于Pushlet推技術的網絡應用程序開發的研究07-26
基于Web技術的網絡考試系統10-22
基于WEB的網絡考試系統ASP+SQL10-05
基于ASP.NET的DIY網站09-12
基于ASP技術開發Web數據庫檢索程序08-04
基于XML的智能應用程序的研究04-29
基于Java Struts框架和工作流技術的Web應用開發08-15
基于WEB的在線考試系統05-15
基于Web的多媒體CAI課件開發過程中若干問題的研究和實踐09-01
基于Web服務的集成研究06-21