someObject.Textは次のように設定されている場合は、私はその後、X ++コードインジェクションの脆弱性だインジェクション安全なコール()
string salesId = someObject.Text;
IAxaptaRecord salesLine = ax.CreateRecord("SalesLine");
salesLine.ExecuteStmt("select * from %1 where %1.SalesId == '" + salesId + "'");
axpataビジネスコネクタを介して呼び出すための注入安全な方法はあります:
"SomeSalesOrder' || %1.SalesId == 'SomeOtherOrder"
クエリをパラメータ化する方法はありますか、直接、xのデータアクセスコード++のすべてを書き、その後、COMからそれを呼び出す方が良いでしょうか?
リテラルを使用しない場合、単純なクエリのデフォルトの動作は、安全であると考えられるプレースホルダ(パラメータ化されたクエリ)を使用することです。複雑なクエリ(結合)の場合、確実に確認する唯一の方法は、結合でForcePlaceholdersのヒントを使用することです。 –