我已经在C#中创建了一年或两年的基本表单应用程序,并且已经完成了一些非常基本的登录表单(纯文本密码等)。
我正在寻找更好,更安全的安全选项。我看过并发现了一些关于.net成员资格的文章,我之前在其他应用程序中遇到过它。我觉得搜索谷歌让我围绕着为什么X比Y更好的循环,而且资源也被3-5岁以上的各种推荐所稀释。
我对SQL非常熟悉并使用Visual Studio Express进行开发。
我正在寻找的是一个很好的资源/链接到最常见的身份验证方法。该网站最终将最终在互联网上直播,因此需要保密。
谢谢。
答案 0 :(得分:1)
我使用ASP.NET Login Controls。还有其他解决方案,但这是一个领域(很像加密),我认为你最好不要编写自己的解决方案 - 有太多方法可以失败。
答案 1 :(得分:0)
首先,您可以保护发送密码的唯一方法是SSL。唯一的例外是使用Windows集成身份验证的互联网站点。在这种情况下Buti您不发送密码(所以它仍然可以)。
第二部分是存储密码。如果你将它们存储得很简单,那么有人可以破解你的服务器并获取它们。这是你应该存储密码哈希的方式。
答案 2 :(得分:0)
对我来说,最好的方法是双向身份验证。我使用短信服务和密码。 密码存储在数据库中,其中每个字符都使用SALT进行哈希(SHA512或md5)。 Salt是必要的,因为如果有人进入您的数据库,他可以找到密码并在字典中检查它们。我强制用户从短信中随机输入密码+有效代码的一些字符。
当用户多次输入数据失败时,同样好的方法是使用CAPTCHA。
您应记录此类无效登录尝试,如果您认为此帐户可能存在攻击,则应阻止该操作并通知用户。