Мы недавно запустить Veracode, что указывает на следующий метод:Каков наилучший способ исправить «Неправильное ограничение ссылки на внешние сущности xml»?
public XmlElement RunProcedureXmlElement(string Procedure, List<SqlParameter> Parameters)
{
DataSet ds = RunProcedureDataSet(Procedure, Parameters);
XmlDocument xmlDoc = new XmlDocument();
StringBuilder strXML = new StringBuilder();
foreach (DataTable dt in ds.Tables)
{
foreach (DataRow dr in dt.Rows)
{
strXML.Append(dr[0]); // Do I still need .ToString()???
}
}
if (strXML.Length == 0) strXML.Append("<root total=\"0\"></root>");
try
{
xmlDoc.LoadXml(strXML.ToString());
}
catch (XmlException e)
{
}
return xmlDoc.DocumentElement;
}
Что бы быть хорошим решением, чтобы исправить этот метод так Veracode перестает жаловаться?
Спасибо-х
Это C#, не так ли? Было бы полезно отметить тег соответствующим образом, так как исправление этого (путем отказа в предоставлении документа от собственного DTD) требует знания XML-интерфейсов платформы. –
Ahh - Я вижу, что вы уже запретили обработку DTD. Звучит как ошибка в VeraCode; Я возьму их. –
Я положил DtdProcessing.Prohibit, чтобы исправить его. Раньше у меня его не было. Итак, никаких проблем с VeraCode. VeraCode указал на строку, где начинается мой метод. Мне было интересно, знаете ли вы, какая строка в этом методе VeraCode могла бы жаловаться? Это где я добавляю « ", и если да, то я могу его заменить? Или это просто жаловалось, потому что я не занимался обработкой TD? –
piterskiy