Veracode 为 C# 中的公共字符串属性引发“技术特定的输入验证问题 (CWE ID 100)”
Posted
技术标签:
【中文标题】Veracode 为 C# 中的公共字符串属性引发“技术特定的输入验证问题 (CWE ID 100)”【英文标题】:Veracode throws "Technology-Specific Input Validation Problems (CWE ID 100)" for a public string property in C# 【发布时间】:2017-11-01 12:41:18 【问题描述】: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】:此 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
【讨论】:
以上是关于Veracode 为 C# 中的公共字符串属性引发“技术特定的输入验证问题 (CWE ID 100)”的主要内容,如果未能解决你的问题,请参考以下文章