使用IP良好做法记录错误的用户名/密码尝试?

时间:2011-06-06 12:44:49

标签: asp.net security asp.net-membership data-protection

我开发了一个Intranet应用程序,并使用Forms-Authentication实现了一个自定义ASP.NET成员资格提供程序。我认为在DBMS中记录所有失败的登录尝试是个好主意。因此我创建了一个包含以下模型的表:

enter image description here

现在我的问题

出于安全原因存储它是否是好的做法,或者由于数据保护原因(德国)它是否被禁止?我将原始密码存储在db中,但是日志表中的错误密码(或错误用户名的正确密码)是明文的。

有人可能会争辩说,有权访问此表的每个人都可以获得用户的密码,不仅仅是这个应用程序的密码,还有其他人,因为忘记密码(或用户名)的人也可以试用其他密码。

4 个答案:

答案 0 :(得分:4)

拼错用户名但输入正确密码的用户不是一个好主意!

答案 1 :(得分:1)

我认为这是非常危险的,因为许多糟糕的登录只会是一个角色左右。如果您正在尝试收集数据,也许您应该通过算法运行错误的密码,并且只存储您要查找的最终报告数据...例如,如果您试图找出它们与密码的接近程度,也许存储一个整数,表示错误的字符数。

答案 2 :(得分:1)

存储密码不会带来太多收益。如果您觉得需要查看密码,可能在X次登录尝试失败后进行记录,这样就可以避免记录错误。

答案 3 :(得分:0)

我认为你应该只保留密码哈希,如果你记录了尝试,那你为什么需要这些数据呢?用户ID或名称与IP地址和日期相结合就可以了。