C#安全登录

时间:2013-04-16 13:51:33

标签: c# asp.net .net authentication

我已经在C#中创建了一年或两年的基本表单应用程序,并且已经完成了一些非常基本的登录表单(纯文本密码等)。

我正在寻找更好,更安全的安全选项。我看过并发现了一些关于.net成员资格的文章,我之前在其他应用程序中遇到过它。我觉得搜索谷歌让我围绕着为什么X比Y更好的循环,而且资源也被3-5岁以上的各种推荐所稀释。

我对SQL非常熟悉并使用Visual Studio Express进行开发。

我正在寻找的是一个很好的资源/链接到最常见的身份验证方法。该网站最终将最终在互联网上直播,因此需要保密。

谢谢。

3 个答案:

答案 0 :(得分:1)

我使用ASP.NET Login Controls。还有其他解决方案,但这是一个领域(很像加密),我认为你最好不要编写自己的解决方案 - 有太多方法可以失败。

另见What should every programmer know about security?

答案 1 :(得分:0)

首先,您可以保护发送密码的唯一方法是SSL。唯一的例外是使用Windows集成身份验证的互联网站点。在这种情况下Buti您不发送密码(所以它仍然可以)。

第二部分是存储密码。如果你将它们存储得很简单,那么有人可以破解你的服务器并获取它们。这是你应该存储密码哈希的方式。

答案 2 :(得分:0)

对我来说,最好的方法是双向身份验证。我使用短信服务和密码。 密码存储在数据库中,其中每个字符都使用SALT进行哈希(SHA512或md5)。 Salt是必要的,因为如果有人进入您的数据库,他可以找到密码并在字典中检查它们。我强制用户从短信中随机输入密码+有效代码的一些字符。

当用户多次输入数据失败时,同样好的方法是使用CAPTCHA。

您应记录此类无效登录尝试,如果您认为此帐户可能存在攻击,则应阻止该操作并通知用户。