Gibt es eine Injektion sichere Weise über das axpata Business Connector zu nennenInjection sicher Aufruf IAxaptaRecord.ExecuteStmt()
string salesId = someObject.Text;
IAxaptaRecord salesLine = ax.CreateRecord("SalesLine");
salesLine.ExecuteStmt("select * from %1 where %1.SalesId == '" + salesId + "'");
Wenn someObject.Text der folgenden gesetzt ist, bin ich dann anfällig für x ++ Code-Injektion :
"SomeSalesOrder' || %1.SalesId == 'SomeOtherOrder"
gibt es eine Möglichkeit, die Abfrage zu parametrisieren, oder wäre es besser, alle Daten, Zugangscode zu schreiben direkt in x ++, und rufen sie dann die von COM?
Da Sie keine Literale verwenden, ist das Standardverhalten für einfache Abfragen die Verwendung von Platzhaltern (parametrisierten Abfragen), was als sicher gilt. Für komplexe Abfragen (Joins) kann nur der ForcePlaceholders-Hinweis in Joins verwendet werden. –