5

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

我正在寻找更好、更安全的安全选择。我查看并找到了一些关于 .net 成员资格的文章,并且我之前在我使用过的其他应用程序中遇到过它。我觉得搜索 google 让我循环思考为什么 X 比 Y 更好,而且资源被 3-5 年前的各种建议稀释了。

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

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

谢谢你。

4

3 回答 3

2

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

另请参阅每个程序员都应该了解什么安全性?

于 2013-04-16T14:05:11.573 回答
0

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

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

于 2013-04-16T13:55:03.580 回答
0

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

当用户多次输入数据失败时,也可以使用 CAPTCHA。

您应该记录此类无效的登录尝试,如果您认为此帐户可能受到攻击,您应该阻止它并通知用户。

于 2013-04-16T13:55:24.367 回答