В основном это зависит от того, как вы выполняете свои запросы, как описано @vitaly-t
Предположим, вы определите запрос в строке и выполните его следующим образом:
var query = `SELECT * FROM table where username='${username}' and password='${password}`;
pool.query(query, (error, results) => {
});
В этом случае, если бы я передал username=' 'или 1=1; -- и пароль=' 'или 1=1; --
Затем он вернет все записи из таблицы (означает, что SQL-инъекция работает)
Но если бы я выполнил следующий запрос
pool.query('SELECT * FROM table where username=$1 and password=$2', [username, password], (error, results) => {
});
Тогда SQL-инъекция никогда не сработает, потому что pg очистит данные.
Так что это зависит от того, как вы выполняете запросы.
person
Ankit
schedule
25.02.2019