.net中的Web应用程序。在我的应用程序中,我有一个名为密码的属性,但是在强制要求下它会引发问题"隐私侵犯肩膀冲浪"。有人告诉我如何解决这个问题:)
private string _PasswordAnswer = "";
[DataMember]
public string PasswordAnswer{
get
{
if(_PasswordAnswer == null) _PasswordAnswer = string.Empty;
return this._PasswordAnswer;
}
set
{
if(value != this._PasswordAnswer)
{
NotifyPropertyChanging("PasswordAnswer");
this._PasswordAnswer = value;
NotifyPropertyChanged("PasswordAnswer");
}
}
}
答案 0 :(得分:0)
您必须将DataType
属性添加到属性中,如下所示:
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
答案 1 :(得分:0)
在我看来,这更多是代码质量的改进(https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.dataannotations.datatype?view=netframework-4.6.2),而不是安全性。
我在Fortify项目之一中也遇到了这个问题,我将其称为误报。即使他们在文档中有类似的示例,他们也写道,纯文本将需要记录/公开(https://vulncat.fortify.com/en/detail?id=desc.dataflow.java.privacy_violation#C%23%2FVB.NET%2FASP.NET),而不仅仅是在对象模型中更改“ DataType”