@Boris007

На сколько безопасен sql запрос с подстановкой в него данных без обработки с клиента?

Во многих примерах данных просто вставляются в запрос
Но разве так нельзя прокинуть команду ;DROP и выполнить инъекцию?
const user_name= req.body.username 
const user_password = req.body.user_password
const query = `INSERT INTO users (user_name, user_password) VALUES ('${user_name}', '${user_password}')`

pgPool.query(query)
  • Вопрос задан
  • 79 просмотров
Решения вопроса 2
includedlibrary
@includedlibrary
Можно прокинуть что угодно, следовательно так делать не безопасно. Чтобы избежать инъекций, используйте подготовленные выражения
Ответ написан
petermzg
@petermzg
Самый лучший программист
Примерно так.
INSERT INTO users (user_name, user_password) VALUES ('' + (select user_password from users where  user_name = "admin") + '',  '${user_password}')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы