我们在 Azure DevOps Pipeline 中集成了 Checkmarx 静态代码分析器工具。在运行我们的管道时,我们在下面的代码行中遇到高风险的“反序列化不受信任的数据”错误。你能帮我解决这个问题吗?
C#代码:
using System.Text.Json;
string reqBodyParams = await new StreamReader(request.Body).ReadToEndAsync();
var requestData = JsonSerializer.Deserialize<CalcRequestBody>(reqBodyParams);
CalcRequestBody 类:
public class CalcRequestBody
{
public string CalcFormula { get; set; }
public string UserName { get; set; }
}
最佳答案
我终于找到了从 Checkmarx 工具获取“反序列化不受信任数据”错误的解决方案。
using Newtonsoft.Json;
var requestData = JsonConvert.DeserializeObject<CalcRequestBody>(reqBodyParams, new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.None
});
关于c# - Checkmarx报错 "Deserialization of Untrusted Data"如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70959274/