SQL UNQUOTED IDEDIFIER VALICATION [Duplicate]C#

Место общения программистов C#
Ответить
Anonymous
 SQL UNQUOTED IDEDIFIER VALICATION [Duplicate]

Сообщение Anonymous »

Я работаю над приложением .NET, которое необходимо выполнить SQL, параметризованные объектами базы данных, такими как таблицы или столбцы. Я бы сказал, что это симптом плохого дизайна; Тем не менее, этот дизайн - это то, что мы используем, и, к сожалению, это то, что есть. Приложение поддерживает как провайдеры Microsoft SQL Server, так и Oracle Ado.net.using (OracleCommand cmd = connection.CreateCommand())
{
cmd.CommandText = $"SELECT id, name FROM {tableName} WHERE name = :name";
cmd.Parameters.Add("name", name);
return cmd.ExecuteReader();
}
< /code>
Насколько мне известно, нет хорошего способа использовать параметры, в которых ожидается идентификатор, поэтому я считаю, что специальная проверка является моим единственным выбором, если я хочу избежать уязвимостей инъекции SQL. Цитируемые идентификаторы легко проверить - просто проверьте, что строка окружена кавычками и что внутренние кавычки должным образом избежаются. Я не так уверен в некверных идентификаторах. Моя главная проблема связана с Oracle DB, где правила идентификатора зависят от набора символов. Настройка DB был установлен. Если нет, как мне правильно проверить (некваженные) идентификаторы?

Подробнее здесь: https://stackoverflow.com/questions/797 ... validation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»