ASP NET 4 如何使用具有 MinLength 属性的数据类型密码的数据注释?
public class ChangePasswordObject {
[Required] [DataType(DataType.EmailAddress)]
string email;
[Required]
string authorization_code;
[Required] [DataType(DataType.Password)]
string password;
}
public class ChangePasswordObject {
[Required] [DataType(DataType.EmailAddress)]
string email;
[Required]
string authorization_code;
[Required] [DataType(DataType.Password)]
string password;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
应该很简单:
StringLength
的第一个参数是最大长度。现在我的 0.02 美元:
正如评论中所述,对密码字段提供最小和最大限制可以告诉攻击者很多有关您密码要求的信息,他们可以根据此信息优化攻击。
另外,在存储和传递明文密码时要小心——您应该使用单向加密算法和随机盐尽快对它们进行加盐+散列。验证密码应该对用户的输入重复加密,使用已知的盐并比较生成的哈希值。如果您使用明文密码执行的操作多于发布密码的操作,则您可能需要重新考虑您的安全策略。
Should be as easy as:
The first parameter to
StringLength
is the maximum length.Now for my $0.02:
As noted in the comments, providing minimum and maximum constraints on your password fields tells an attacker a lot about your password requirements, and they could optimize their attack based on this information.
Also, be careful about storing and passing around plaintext passwords -- you should salt+hash them ASAP using a one-way encryption algorithm and a random salt. Verifying passwords should repeat the encryption on the user's input ,using the known salt and comparing the resulting hashes. If you're doing more with a plaintext password than POSTing it, you may want to rethink your security strategy.
将 StringLength 属性添加到密码字段。示例此处 - 位于底部页面的。
Add a StringLength attribute to the password field. An example here - at the bottom of the page.