ASP.NET配置错误:模型验证不正确



我有以下简单类,但veracode报告以下缺陷

输入验证不足(7个缺陷(ASP.NET配置错误:模型验证不正确(CWE ID 1174((7个漏洞(

请帮我解决这个问题


代码:

namespace Automation.Web.Configuration
    {
        public class AppSettings
        {
            public string BaseURL { get; set; }        
            public string SearchAll { get; set; }
            public string SearchMyReviews { get; set; }
            public string SearchEscalated { get; set; }      
           
          
            public string SearchAllUrl
            {
                get { return BaseURL + SearchAll; }
    
            }
            public string SearchMyReviewsUrl
            {
                get { return BaseURL + SearchMyReviews; }
    
            }
            public string SearchEscalatedUrl
            {
                get { return BaseURL + SearchEscalated; }
    
            }
        }
    }

将Microsoft的一个Data Annotation属性应用于属性以验证输入。

例如:

public class UserModel
{
    public Guid Id { get; set; }
    public string Username { get; set; }
    public string Email { get; set; }
}

我们可以通过在每个属性上使用注释来纠正这一点,比如:

public class UserModel
{
    [Key]
    public Guid Id { get; set; }
    [RegularExpression("^[a-zA-Z-0-9]{3,16}$")]
    public string Username { get; set; }
    [EmailAddress]
    public string Email { get; set; }
}

尝试在每个字符串属性中放入StringLength((Data Annotation。

如果您在控制器中发现此缺陷(CWE ID 1174(,则

  1. 避免异步方法
  2. 使用"绑定"属性
  3. 使用ModelState.IsValid

如果您在模型中发现此缺陷(CWE ID 1174(,则

  1. 使用数据注释属性,如〔Required〕、〔MaxLength〕等

最新更新