Проверка Sql-запросов, введенных в post-данные

#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. Тогда вам, вероятно, понадобится какое-нибудь забавное регулярное выражение, чтобы найти / заменить все возможные вредоносные символы.