2012-01-08 52 views
2

我已經構建了一個使用ASP.NET(.NET 4)附帶的登錄類來管理用戶帳戶和密碼的網站。ASP.NET的登錄類是否安全?

這些類對於可公開訪問的網站是否足夠安全?如果我正在開發一家銀行的網站,而不是爲一家酒吧設計一個愚蠢的定製CMS?

更新:我不知道ASP> NET有其他登錄類。我指的是這些。 http://msdn.microsoft.com/en-us/library/ms178329.aspx

+0

您在談論哪些ASP.NET登錄類? – Veronica 2012-01-08 14:00:39

+0

這些... http://msdn.microsoft.com/en-us/library/ms178329.aspx – billpg 2012-01-08 14:33:27

回答

1

如果配置正確,FormsAuthentication被廣泛使用並且相對安全。

確保您添加的machineKey,(你可以生成一個在這裏http://aspnetresources.com/tools/machineKey這是在MSDN網站上提供相同的鏈接)

  • 如果其系統的安全部分;考慮將會話超時設置得較低(10/15分鐘便利vs安全)。
  • 確保您的會員服務提供商設置一個良好的HASH算法,即<membership userIsOnlineTimeWindow="15" hashAlgorithmType="SHA512">
  • 和供應商本身被設置爲散列,而不是加密passwordFormat="Hashed"
  • 和你RoleManager(如果你使用的角色)和窗體身份驗證部分包含cookies的配置; cookieProtection="All"

其中的密碼重置系統是個玩笑;我不會複製和粘貼自己,但你可以看到在這裏重置密碼的更好方法https://stackoverflow.com/questions/10213124/combine-passwordrecovery-and-changepassword-control/10237107#10237107

這基本上是一個好的開始;您還可以看看特洛伊狩獵成員安全指南http://www.troyhunt.com/2010/07/owasp-top-10-for-net-developers-part-3.html

哦,總是收集用戶信息/手柄登錄/註冊,並在 HTTPS(SSL)。並嘗試使用某種驗證令牌(MVC https://www.google.co.uk/search?sourceid=chrome&ie=UTF-8&q=msdn+AntiForgeryToken中的一種驗證令牌),這可以減少CSRF的攻擊情況,並且基本上可以蠻力。

+0

有趣的東西。謝謝。 – billpg 2012-04-20 13:05:40

2

是的,他們是足夠安全..這些可以爲您提供廣泛的功能,如根據演員和許多其他事情限制網頁瀏覽。