Предотвращение SQL-инъекций в клиенте C # притока - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь написать запросы Influx и предотвратить внедрение SQL с помощью параметров связывания. Документация Influx говорит о командах CURL здесь , и я видел проблему GitHub, относящуюся к их клиенту Java здесь

Может кто-нибудь помочь мне с предотвращением внедрения SQL-кода, используя клиент C # Influx с несколькими предложениями WHERE.

Мой запрос:

SELECT * FROM "retentionPolicy.SystemGuid" WHERE time >= "startTime" AND time <= "endTime" AND Quality = "good"

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Внедрение SQL, как правило, не является проблемой для InfluxDB, поскольку он не поддерживает SQL. InfluxDB использует InfluxQL, который является языком, подобным SQL, но это НЕ SQL.

0 голосов
/ 29 августа 2018

Чтобы избежать SQL-инъекций, вы должны использовать параметризованные запросы.

как это сделать?

Вы не должны передавать запрос как строковый параметр, вы должны передавать запрос как строковый параметр, содержащий заполнители и значения для этих заполнителей

например:

using (SqlConnection conn = new SqlConnection(DatabaseConnectionString))
    using (SqlCommand cmd = conn.CreateCommand())
    {
      conn.Open();
      cmd.CommandText = "SELECT * FROM Users WHERE UserName = @UserName AND Password = @Password";
    cmd.Parameters.AddWithValue("@UserName", txtBoxUserName.Text);
    cmd.Parameters.AddWithValue("@Password", txtBoxPAssword.Text);
    cmd.ExecuteNonQuery();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...