この Raw SQL WSI APIは非常に強力に見えますが、必要なエンティティの ID を取得する唯一の方法でもあるようです。たとえば、メーカーを名前で取得できるようにする必要があります(より良い方法があるかどうかについて議論しています)。最善の方法は、このようなクエリを送信することです。
'SELECT ManufactuerGUID FROM Manufacturer WHERE Name = ' . "$name"
これは本当に悪い考えであり、私はそれを書くことさえ嫌いです...しかし、それをサニタイズする最善の方法がわかりません. 通常、パラメーター化はSQLドライバー(AFAIK)を介して行われますが、私が考えることができる唯一のことは... DBD::ODBCから最終的なSQL文字列を取得できるのでしょうか?他の提案を歓迎します。おそらく、私が使用できるサニタイズ ライブラリがありますか?
明確にするために、私は ASP.net Storefront の API を実際に制御することはできません。製造元Name
は人間の入力から得られる唯一のパラメーターであるため、残りのコードをどのようにコーディングするかについて心配する必要はありません。はい、この API は信じられないほどばかげたアイデアです。クエリをパラメーター化する方法を教えてくれたら素晴らしいことです。