• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

459
Vistas
Evite la inyección en la consulta SQL LIKE en Node js

Se hicieron varias preguntas sobre este tema. Pero no pude encontrar la respuesta exacta en ninguna parte. ¿El siguiente código causará una inyección de sql? Si es así, ¿cómo escapar de él?

 db.query('SELECT USER.id, USER.username FROM USER LEFT JOIN user_photo photo ON USER.id = photo.user_id WHERE USER.username LIKE "%' + search + '%"', (err, result) => { if (err) throw err res.send(result) })

Probé el siguiente código con mysql.escape() . Pero la consulta SQL no funciona en este caso:

 db.query('SELECT USER.id, USER.username FROM USER LEFT JOIN user_photo photo ON USER.id = photo.user_id WHERE USER.username LIKE "%' + mysql.escape(search) + '%"', (err, result) => { if (err) throw err res.send(result) })
about 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede especificar el patrón LIKE en el parámetro que pasa a la consulta de esta manera, el parámetro se escapará de forma segura como se documenta aquí

 let search = "Terry"; let sql = `SELECT USER.id, USER.username FROM USER LEFT JOIN user_photo photo ON USER.id = photo.user_id WHERE USER.username LIKE ?`; db.query(sql, [`%${search}%`], (err, result) => { if (err) throw err res.send(result); })
about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda