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

时间:2017-05-31 15:51:10

标签: c# veracode

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

有人可以说出原因吗?

1 个答案:

答案 0 :(得分:2)

此网址包含一些建议可能对流程进行修复的信息:

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 Namespace的可能属性的完整列表。

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