如何解决 MVC 视图模型的堆检查漏洞?

Das*_*nch 5 c# asp.net asp.net-mvc

Checkmarx 报告了一个关于密码属性字符串的堆检查漏洞。此属性是模型的一部分,在提交登录表单时绑定。在 ASP.NET MVC 中有没有办法使用除常规字符串以外的任何其他内容来绑定表单中的密码?

到目前为止,我已经尝试将属性类型更改为 char [] 或 SecureString,但在这种情况下,表单不会将数据绑定到它。

public class LoginModel
{
    [Required]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

将密码字段重命名为其他名称...例如“alienSecurity”,CheckMarx 将无法捕获它:)