Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Veracode标记api操作,带有不进行输入验证的可选参数_C#_Api_Routes_Swagger_Veracode - Fatal编程技术网

C# Veracode标记api操作,带有不进行输入验证的可选参数

C# Veracode标记api操作,带有不进行输入验证的可选参数,c#,api,routes,swagger,veracode,C#,Api,Routes,Swagger,Veracode,我使用的是dot.net WebApi2,我从代码扫描中发现了Veracode漏洞: '控制器的操作缺少一个路由属性,该属性将使用路由约束对操作参数执行输入验证。。。。 修正:确保使用RouteAttribute对象,并在每个操作的路径上设置路由约束 所指的行动是: [Route] [HttpGet] public IHttpActionResult Get(int? offset = null, int? rows = null) { ... } 因为我只有可选参数,所以它们没有在R

我使用的是dot.net WebApi2,我从代码扫描中发现了Veracode漏洞:

'控制器的操作缺少一个路由属性,该属性将使用路由约束对操作参数执行输入验证。。。。 修正:确保使用RouteAttribute对象,并在每个操作的路径上设置路由约束

所指的行动是:

[Route]
[HttpGet]
public IHttpActionResult Get(int? offset = null, int? rows = null)
{
    ...
}
因为我只有可选参数,所以它们没有在Route属性中指定。如果通过将thr管线注释更改为:

[路由(“{offset:int?}/{rows:int?}”]

该路由将显示在swagger api帮助页面中,如下所示:

GET/api/v1/foo/{offset}/{rows}

而不是(我们想展示的):

GET/api/v1/foo

帮助页面也会将这些参数标记为必需的,即使它们不应该被标记


有什么方法可以让Veracode不破坏我的招摇过市的医生吗?

你找到解决方案了吗?没有。最终缓解了它