2012-01-08 53 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

是的,他们是足够安全..这些可以为您提供广泛的功能,如根据演员和许多其他事情限制网页浏览。