【问题标题】:ASP.NET Misconfiguration: Improper Model ValidationASP.NET 配置错误:不正确的模型验证
【发布时间】:2020-10-24 09:49:37
【问题描述】:

我有以下简单的课程,但 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; }
    
            }
        }
    }

【问题讨论】:

    标签: c# asp.net .net asp.net-core


    【解决方案1】:

    将 Microsoft 的数据注释属性之一应用于属性以验证输入。

    例如:

    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; }
    }
    

    【讨论】:

      【解决方案2】:

      尝试在每个字符串属性中加入 StringLength() 数据注解。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-27
        • 2022-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多