0

我有一个作为参数输入的 Rest 服务。里面有一个 Path.Combine 方法,用于生成路径。但在 veracode 中,它捕获了用于目录遍历注入的 Path.Combine 方法。解决问题的任何可能方法。

var path = HttpContext.Current.Server.MapPath("~/MainFolder");
var name ="sampleLog";
var filename = String.Format("{0}.txt",name);

var fullpath = Path.Combine(path, filename); // Veracode shows this method as a possible injection

我尝试使用以下方法验证文件名,但它没有作为修复。

private string CleanFileName(string name)
{
   return Path.GetInvalidFileNameChars().Aggregate(name, (current, c) => current.Replace(c.ToString(), string.Empty));
}

避免此问题的任何其他可能解决方案?

4

0 回答 0