Есть ли безопасный способ инъекции для вызова через axpata бизнес разъемInjection безопасного вызов IAxaptaRecord.ExecuteStmt()
string salesId = someObject.Text;
IAxaptaRecord salesLine = ax.CreateRecord("SalesLine");
salesLine.ExecuteStmt("select * from %1 where %1.SalesId == '" + salesId + "'");
Если someObject.Text устанавливаются в следующем, я тогда уязвим для й ++ кода инъекция :
"SomeSalesOrder' || %1.SalesId == 'SomeOtherOrder"
есть ли способ параметризовать запрос, или было бы лучше, чтобы написать весь код доступа к данным непосредственно в X ++, а затем вызвать, что с COM?
Учитывая, что вы не используете литералы, поведение по умолчанию для простых запросов заключается в использовании заполнителей (параметризованных запросов), которые считаются безопасными. Для сложных запросов (объединений) единственным способом быть уверенным является использование подсказок ForcePlaceholders в соединениях. –