#node.js #sql-injection
#node.js #sql-инъекция
Вопрос:
Как проверить, что данные тела сообщения JSON вводятся с любыми SQL-запросами?
Post data:
{
name: 'xyz',
host: 'localhost',
port: 3001,
path: '/samp',
sql: 'insert into table1 values.......'
}
Ответ №1:
Зависит от того, какой MySQL node.js библиотека, которой вы пользуетесь. Если вы используете этот https://github.com/felixge/node-mysql тогда вам просто нужно использовать либо:
connection.escape()
или
connection.query('SELECT * FROM table WHERE id = ?',
[personID],
function(selectErr,selectRow) {
});
Комментарии:
1. Я использую couch DB. Я хочу защитить данные от ввода SQL-запросов внешним пользователем
2. Тогда вам, вероятно, понадобится какое-нибудь забавное регулярное выражение, чтобы найти / заменить все возможные вредоносные символы.