ASP.NET安全


在網站中實現安全性有以下幾個方面:

  • 認證:這是確保使用者身份和真實性的過程。ASP.NET允許四種型別的認證:
    • Windows身份驗證
    • 表單認證
    • 通行證認證
    • 自定義驗證
  • 授權:是為特定使用者定義和分配特定角色的過程。
  • 保密性:它涉及加密用戶端瀏覽器和網路伺服器之間的通道。
  • 完整性:涉及維護資料的完整性。例如,實施數位簽名。

基於表單的身份驗證

傳統上,基於表單的身份驗證涉及編輯web.config檔案並新增具有適當的驗證程式碼的登入頁面。

可以編輯web.config檔案並在其上編寫以下程式碼:

<configuration>

<system.web>
   <authentication mode="Forms">
      <forms loginUrl ="login.aspx"/>
   </authentication>

   <authorization>
      <deny users="?"/>
   </authorization>
</system.web>
...
...
</configuration>

在上面的程式碼片段中提到的login.aspx頁面具有以下程式碼檔案,其中使用者名(username)和密碼(password)是寫死的身份驗證。



注意FormsAuthentication類負責認證過程。

Visual Studio允許通過Web站點管理工具無縫地輕鬆實現使用者建立,身份驗證和授權,而無需編寫任何程式碼。這個工具允許建立使用者和角色。

除此之外,ASP.NET還提供了現成的登入控制元件集,它具有控制執行所有工作的控制元件。

實現基於表單的安全性

要設定基於表單的身份驗證,需要以下內容:

  • 支援認證過程的使用者資料庫
  • 使用資料庫的網站
  • 使用者帳戶
  • 角色
  • 限制使用者和小組活動
  • 預設頁面,顯示使用者的登入狀態等資訊。
  • 登入頁面,允許使用者登入,檢索密碼或更改密碼

IIS身份驗證:SSL

安全通訊端層或SSL是用於確保安全連線的協定。 啟用SSL後,瀏覽器會加密傳送到伺服器的所有資料,並解密來自伺服器的所有資料。同時,伺服器加密和解密來自瀏覽器的所有資料。

安全連線的URL從HTTPS而不是HTTP開始。瀏覽器使用安全連線顯示小鎖圖示。 當瀏覽器使用SSL通過安全連線初次嘗試與伺服器通訊時,伺服器通過傳送其數位證書來驗證自身。

要使用SSL,您需要從受信任的認證中心(CA)購買數位安全證書,並將其安裝在Web伺服器中。 以下是一些值得信賴和知名的認證機構:

  • www.verisign.com
  • www.geotrust.com
  • www.thawte.com

SSL內建於所有主流瀏覽器和伺服器中。要啟用SSL,需要安裝數位證書。 各種數位證書的強度取決於加密期間生成的金鑰的長度。 更多的長度,更安全的是證書,因此連線。

編號 強度 描述
1 40位 大多數瀏覽器支援,但很容易中斷。
2 56位 強於40位
3 128位元 非常難破解,但所有的瀏覽器不支援它。