0

次のように、ビジネス コネクタを使用するときに Axapta オブジェクトで ExecuteStmt メソッドを使用するコードがいくつかあります。

AxaptaRecord record = (AxaptaRecord)ax.CreateAxaptaRecord("SalesTable");
record.ExecuteStmt("select * from %1 where %1.SalesId == '" + id + "'");
while (record.Found)
{
     // do stuff
}

これは問題なく動作しますが、一般向けの Web サイトに掲載される予定なので、これはデータにアクセスする良い方法であり、SQL インジェクションから保護されていますか? このステートメントは、結合が含まれていないため、クエリをパラメーター化する「forcePlaceholders」キーワードを使用することを読んだので?

4

1 に答える 1

1

私はノーと言うでしょう。これはまだSQLインジェクションの原因です。

于 2012-03-20T14:11:08.897 に答える