淺談ASP.NET MVC應用程式的安全性_實用技巧

來源:互聯網
上載者:User

前言:保護Web應用程式的安全性看起來時間苦差事,這件必須要做的工作並不能帶來太多的樂趣,但是為了迴避尷尬的安全性漏洞問題,程式的安全性通常還是不得不做的。

1.ASP.NET Web Forms開發人員

   (1)因為ASP.NET MVC不像ASP.NET Web Forms那樣提供了很多自動保護機制來保護頁面不受惡意使用者的攻擊,所以閱讀本部落格來瞭解這方面的問題,更明確的說法是:ASP.NET Web Forms致力於使應用程式免受攻擊。例如:

    1)伺服器組件對顯示的值和特性進行HTML編碼,以協助阻止XSS攻擊。

    2)加密和驗證試圖狀態,從而協助阻止篡改提交的表單。

    3)請求驗證(%@page validaterequest=”true”%)截獲看起來是惡意的資料並提出警告(這是MVC架構預設開啟的保護)。

    4)事件驗證協助組織注入攻擊和提交無效值。

   (2)轉向ASP.NET MVC意味著這些問題的處理將落到程式員的肩上—對於某些人來說可能會引起恐慌,而對另一些人來說可能是一件好事。

   (3)如果認為架構”就應該處理這種事情”的話,那麼確實有一種架構可以處理這一類事情,而且處理的很好,它就是asp.net web forms。然而,其代價就是失去了對asp.net web froms引入的抽象層次的一些控制。

   (4)ASP.NET MVC提供了對標記更多的控制,這意味著程式員要承擔更多的責任,要明確的是,ASP.NET MVC提供了許多內建的保護機制(例如:預設利用HTML的輔助方法和Razor文法進行HTML編碼以及請求驗證等功能特性)。

2.ASP.NET MVC開發人員

   (1)對於存在安全風險的應用程式,主要的借口是開發人員缺乏足夠的資訊或者理解,我們想要改變這一局面,但是我們也意識到人無完人,總會有疏忽的時候。鑒於此,請記住下面的錦囊妙計。

    1)永遠都不要相信使用者提供的任何資料

    2)每當渲染作為使用者輸入而引入的資料時,請對其進行HTML編碼(如果資料作為特性值顯示,就應對其進行HTML特性編碼)

    3)考慮好網站的那些部分允許匿名訪問,那些部分要求認證訪問。

    4)不要試圖自己淨化使用者的HTML輸入—否則將遭遇失敗。

    5)在不需要通過用戶端指令碼訪問cookie時,使用HTTP-only cookie。

    6)強烈建議使用AntiXss庫(www.codeplex.com/AntiXSS)。

   (2)同時,應用程式的構建基於這樣一個假設,即只有特定的使用者才能執行某些操作,其他使用者則不能執行這些操作。


  註解:後面將陸續介紹如何使用ASP.NET MVC中的安全特性來執行向授權這樣的應用功能,然後介紹如何處理常見的安全威脅。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.