TableNameとしてのMySqlParameterへの反応として、MySQLのConnector / NETライブラリは、次の方法でユーザー入力からのテーブル名をサポートしていないようです。
MySqlCommand cmd = new MySqlCommand("SELECT * FROM @table");
cmd.Parameters.AddWithValue("@table",TableNameFromUserInput);
そこで、別の方法を見つけようとしましたが、これを実行してくれるライブラリが見つかりませんでした。
これを手動で行う方法を検索したところ、言語に関係なく、すでに定義されているライブラリから「プリペアドステートメント」を使用するように指示されていないものは見つかりませんでした。
SQLについての私の限られた知識では、ユーザー入力の周りにバッククォート( `)を配置してから、バッククォートの入力をチェックするだけでよいと思いますが、確認したかったのです。
質問
MySQLコネクタがサポートしていない場合、ユーザー指定のテーブル名をSQL-Injectionからどのように保護しますか?