Как предотвратить sql-инъекцию в nodejs и sequelize? [закрытый]

Я использую sequelize с express. Мне нужно защитить БД от sql-инъекции. Я видел документы sequelize, но я ничего не мог найти. Поэтому, пожалуйста, помогите мне, как предотвратить sql-инъекцию с помощью sequelize.

1 ответов


Sequelize escapes replacements, что позволяет избежать проблемы в основе атак SQL-инъекций: unescaped strings. Он также поддерживает параметры привязки при использовании SQLite или PostgreSQL, что еще больше снижает риск, отправляя параметры в базу данных отдельно в запрос,как описано здесь:

параметры привязки подобны заменам. Кроме замены экранируются и вставляется в запрос по sequelize перед отправкой запроса к база данных, в то время как параметры привязки отправляются в базу данных снаружи текст запроса SQL. Запрос может иметь параметры bind или замены.

только SQLite и PostgreSQL поддерживают параметры привязки. Другие диалекты вставит их в SQL-запрос так же, как это делается для замены. Параметры привязки ссылаются либо на $1, $2,... (числовой) или $key (буквенно-цифровой). Это не зависит от диалекта.