什麼是其他ASP.NET安全最佳實踐?ASP.NET安全最佳實踐
到目前爲止確定這裏列出:
每當你移動一個應用到生產始終生成新的加密密鑰和管理員密碼。
切勿直接或以加密形式存儲密碼。始終存儲單向散列密碼。
始終將連接字符串存儲在Web.config標記中,並使用受保護的配置提供程序(RSA或DPAPI)在配置部分對其進行加密。請參閱example here
使用具有最低權限的用戶標識連接到SQL Server或您正在使用的數據庫。例如,如果您只從某個應用程序模塊執行存儲過程,則必須創建一個僅具有執行權限的用戶標識。
如果您想在頁面上使用基於角色的安全性,請使用PrincipalPermission。
[PrincipalPermission(SecurityAction.Demand, Role="Admin")] public class AdminOnlyPage : BasePageClass { // ... }
始終使用參數來防止SQL查詢SQL Injection。
- 考慮在IIS服務器上安裝URLScan以防止SQL注入。 此外,爲了防止XSS攻擊。您可以使用MSFT的AntiXSS庫而不是內置的編碼輸出,而不是使用HttpServerUtility中的內置HtmlEncode。
上的customErrors始終保持在網絡配置,讓你的錯誤/異常私人
<的customErrors模式= 「ON」 的defaultRedirect = 「MyErrorPage.htm」/ >
在Web應用程序,始終驗證用戶對html標籤或任何腳本的輸入。
切勿存儲敏感信息,例如cookie中的密碼。
- 如果發生異常,不要顯示系統錯誤消息,堆棧跟蹤等。
這應該是一個維基。 – NotMe 2008-12-01 06:35:20
看看http://gosecure.github.io/security-cheat-sheet/ – SPoint 2017-06-05 19:40:06