2

Veracode 为 C# 中的公共字符串属性抛出“技术特定的输入验证问题 (CWE ID 100)”。

这些是我已经尝试过的格式,并且都存在相同的缺陷。

选项1

    public string MyProperty { get; set; }

选项:2

    private string _myProperty;
    public string MyProperty
    {
        get
        {
            return _myProperty;
        }
        set
        {
            _myProperty = value;
        }
    }

选项:3

    private string _myProperty;
    public string MyProperty
    {
        get
        {
            return _myProperty ?? string.Empty;
        }
        set
        {
            _myProperty = value;
        }
    }

谁能告诉我为什么?

4

1 回答 1

2

此 URL 包含一些信息,建议对流程进行潜在修复:

https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api

因此,最终,该属性只需要一个属性,它看起来像这样:

[Required]
public string MyProperty { get; set; }

这是 System.ComponentModel.DataAnnotations 命名空间中可能的属性的完整列表。

https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations(v=vs.110).aspx

于 2017-06-07T20:02:30.400 回答