我已经建立了一个网站,该网站使用ASP.NET(.NET 4)附带的登录类来管理用户帐户和密码。
这些类对于可公开访问的网站是否足够安全?如果我为一家酒吧开发一个银行的网站而不是一个愚蠢的自定义CMS会怎么样?
更新:我不知道ASP> NET有其他登录类。我指的是这些。 http://msdn.microsoft.com/en-us/library/ms178329.aspx
答案 0 :(得分:2)
是的,它们足够安全......这些可以为您提供广泛的功能,例如根据演员和许多其他事情限制网页浏览量。
答案 1 :(得分:1)
如果配置正确,FormsAuthentication被广泛使用并且相对安全。
确保添加MachineKey,(您可以在此处生成一个http://aspnetresources.com/tools/machineKey,这与MSDN网站中提供的链接相同)
<membership userIsOnlineTimeWindow="15" hashAlgorithmType="SHA512">
passwordFormat="Hashed"
cookieProtection="All"
其中的密码重置系统是一个笑话;我不会复制并粘贴自己,但您可以在此处查看重置密码的首选方法https://stackoverflow.com/questions/10213124/combine-passwordrecovery-and-changepassword-control/10237107#10237107
这基本上是一个好的开始;您还可以查看Troy Hunts会员安全指南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的攻击格局,并且基本上是强制攻击。